资讯专栏INFORMATION COLUMN

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

whidy / 1308人阅读

摘要:酷库,每天两分钟,了解一个流行库。准确地说,的编码采用的是,这是一个很古老的年诞生有些过时的编码。是系统上非常著名的库,它可以将数据在任何编码间互转。将字符串转换为编码的汉字这样会输出乱码将编码的数据转换为字符串正常输出汉字参考资料

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://www.ucloud.cn/yun/107345.html

相关文章

  • Node.js 解决 csv 乱码问题

    摘要:而且下载的内容如果有中文字符的话还有乱码的现象。接下来就是介绍一下两个库可以解决我们的问题,一个是可以通过的数据去生成文件的内容,然后在,另外一个库则是用来把内容的编码转换为格式,这样一来就能够解决中文乱码的问题。 前言 之前有个项目中使用到了一个前端的download.js库,主要是用来拼接内容然后生成一个.txt或者.csv等文件让用户下载,不过目前这个库不支持了chrome和sa...

    yuanzhanghu 评论0 收藏0
  • Windows 下的 electron 开发笔记一

    前言 根据公司业务需求,使用 electron 开发桌面 BrowserWindow 应用。 参考 API:Electron 文档 安装与配置 安装工具 node(LTS版)git 命令行工具 搭建项目 初始化: $ npm init 安装 electron: $ npm install electron --save-dev 软件打包 安装打包工具: $ npm install --save...

    Michael_Ding 评论0 收藏0
  • 代码组织和部署 文件操作 node.js

    代码组织和部署 模块的路径解析规则 require支持/或者盘符的绝对路径,也支持./开头的相对地址同时require也支持第三种写法 内置模块 如果传递给require的函数是node.js的内置模块,将会不做路径解析,直接返回内部exports模块要导出的对象 node_modules目录 node.js定义一个node_modules存放模块,每次使用foo/bar的方式的时候,会先寻找该目...

    Cc_2011 评论0 收藏0
  • Node.js读取文件乱码问题

    摘要:先说点什么终于正式开始鼓捣了新的踩坑也就开始了进入正题产生原因系统下默认的编码格式是而在和系统上默认的是再有就是异步读取文件时不能保证文件的存贮的编码格式解决方法将读取的源文件格式储存为编码格式,读取源文件的文件也储存为编码格式安装模 先说点什么 终于正式开始鼓捣Node了,新的踩坑也就开始了 进入正题 产生原因 Windows系统下默认的编码格式是ASNI,而在Node和linux系...

    jzman 评论0 收藏0

发表评论

0条评论

whidy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<