nodejs使用axios 读取gbk编码乱码转化

nodejs使用axios 读取gbk编码乱码转化

月光魔力鸭

2019-04-15 15:06 阅读 3567 喜欢 8 axios gbk-utf8

在通过axios读取页面的时候,经常会碰到gbk的编码,如果不进行转化的话,在获取信息或读取上都会很麻烦。

通过 iconv-lite 来进行转化。

这个其实很通用,网上也有很多,不过自己水平比较低,各种都不会处理,最终各种查资料终于处理,这里记录下,后续再爬取页面的时候,就好找啦。

let axios = require('axios');
let iconv = require('iconv-lite');

axiox({
    url : 'xxxxx/gbk.html',
    responseType : 'stream' //将数据转化为流返回
})
.then(res=>{
    //此时的res.data 则为stream
    let chunks = [];
    res.data.on('data',chunk=>{
        chunks.push(chunk);
    });
    res.data.on('end',()=>{
        let buffer = Buffer.concat(chunks);
        //通过iconv来进行转化。
        let str = iconv.decode(buffer,'gbk');
        console.log(str);
    })
})

希望以后能记住..脑子是个好东西,可我这脑子可能不完整.

转载请注明出处: https://chrunlee.cn/article/axios-gbk-utf8.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在日常开发中,经常会频繁的做一些重复性的操作,作为一名程序员,解放双手的时刻到了
对于开发来说,看到别人家的小程序都这么靓,这么顺畅,这么好用,用户又多... 自然是眼馋的..用户馋不来,可以先馋他的身子..啊不,代码啊。
近期有个小工具,需要使用到本地数据库,想使用sqlite ,本来以为是个手到擒来的活... 没成想卡在了开始上。
产品版本更新的时候经常会有一些数据库的差异,如果版本管理好的话,一步一步升级即可.. 但是如果好久没更新的话,还是有很多不确定的,只能挨着比对表和字段。比对了一次就烦了,写了这么一个工具,查询差异表和字段并给出sql语句。
在使用puppeteer 跳转窗口的时候,发现waitForNavigator 并不起作用,最后找到通过browser 获得page 并继续操作。
最近在折腾的时候又想写less了,但是换框架了,成了thinkjs,考虑到开发阶段一直编译编译less的情况..最终根据middleware的特点实现了一个超级简单的less中间件。
docker镜像中的puppeteer安装
使用nodejs连接ftp,进行ftp的操作,包括列表、上传、下载以及速率等。