NPM酷库039:iconv-lite,字符串编码转换

《NPM酷库039:iconv-lite,字符串编码转换》

NPM酷库,天天两分钟,相识一个盛行NPM库。·

我们的顺序与外部体系对接时,输入输出的数据常常须要做编码转换,由于JavaScript采纳的编码是Unicode,而外部体系的数据编码多是多种多样的,比方Windows上的汉字编码运用的是GBK。

正确地说,JavaScript的编码采纳的是UCS-2,这是一个很陈旧的(1990年降生)有些过期的编码。然则由于UTF-16编码完整兼容UCS-2,所以我们可以“简朴”以为JavaScript是Unicode系的。

比方,我们须要运用Node.js做一个爬虫顺序,而目的网站页面编码是GBK(那一定是一个陈旧的站点),我们抓取过来的汉字内容直接输出会显示出乱码,为了可以一般辨认这些汉字内容,我们须要将GBK编码Buffer转换为JavaScript的Unicode。

iconv-lite

iconv 是Linux体系上异常有名的库,它可以将数据在任何编码间互转。本日我们要相识的iconv-lite只是一个简朴版本,但已充足我们运用。

const iconv = require('iconv-lite');

// 将Unicode字符串转换为GBK编码的Buffer
let buf = iconv.encode("汉字", 'GBK');

// 如许会输出乱码
console.log(buf.toString());

// 将GBK编码的Buffer数据转换为Unicode字符串
let str = iconv.decode(buf, 'GBK');

// 一般输出 “汉字”
console.log(str);

参考资料

https://github.com/ashtuchkin…

    原文作者:脉冲云_梁兴臣
    原文地址: https://segmentfault.com/a/1190000013232415
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞