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

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

月光魔力鸭

2019-04-15 15:06 阅读 1200 喜欢 7 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


感谢支持!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
介绍几个日常开发中常用的几个小工具: anywhere / anywhere-auth / watchlessc / changeext
从豆瓣转到网易云后,发现了不少好听的歌曲,然鹅..当我想把这些歌拿下来扔车上听的时候发现竟然不允许下载..能听不能下?这不科学,作为一名程序猿,必然要迎难而上啊.
关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下.. 最终做了个命令行小工具.. 问题不在这里,前一阵子做压缩的时候发现压缩后竟然是undefined.最终才发现是es6的语法问题。
在开发项目过程中,经常需要将开发的项目部署到服务器上,但是每个环境都有每个环境的配置等等,如果每次打包的时候都要去调整(可能删除、替换等),那就很烦人了,这里分享下自己实现的几个简单的小工具(当然这个工具可能只对我自己有用),希望能够帮到你。
写文章总会需要一些素材,但是好多素材都是收费或有限制的,还是我要求不高,在千库网看了下还不错,有各签到还送VIP,于是就有了想法....
发布自己的nodejs应用后,需要进行管理,目前一般都pm2来进行管理,这里记录下常用的命令。
分享一个自动抓取静态站资源的小工具,可以在抓取某个静态站点的时候方便很多,尤其是如果页面比较多的话,会很难受,而且会自动将资源进行归类,如果一个页面一个页面的保存的话,那就比较费劲了。
前段时间学习到了nodejs的net模块这部分,正好想实现一个局域网内的文件下载小demo,噔噔噔噔... 兴趣推动 ,马上搞一搞。