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

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

月光魔力鸭

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
做了一个阿里云开发者社区自动签到,想着能积攒一些换点啥东西,放在服务器上出现了各种错误。
通过pm2来实现nodejs应用的集群,不过我之前没做session共享,导致.. 登录不上啊 啊啊啊,无奈,又重新对redis进行了集成。
近期有个小工具,需要使用到本地数据库,想使用sqlite ,本来以为是个手到擒来的活... 没成想卡在了开始上。
获取文件夹内所有的文件。支持递归获取、异步或同步、过滤、返回信息处理。
关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下.. 最终做了个命令行小工具.. 问题不在这里,前一阵子做压缩的时候发现压缩后竟然是undefined.最终才发现是es6的语法问题。
在使用marked来做md解析的时候,部分解析规则可能并不是很如意,比如说,我在md中写了a标签,但是这些标签都是在当前页面替换的,而我想要的是新打开窗口。
我们项目一直在使用puppeteer 生成pdf ,整体的思路是没有问题的,而且在开发环境运行了好久了,但是部署后总会有各种各样的报错。各种so文件找不到等等 。
前段时间学习到了nodejs的net模块这部分,正好想实现一个局域网内的文件下载小demo,噔噔噔噔... 兴趣推动 ,马上搞一搞。