生产上遇到一个问题, 字从16进制解码成中文的时候出现乱码。查看代码发现项目中封装的解码工具只支持GB2312 。对超过它编码范围的字无法解码。

本来想自己写一个解码工具,但发现gbk 编码范围太大,而且后面还有个更大的字符集GB18030,自己写太麻烦。

google 上找到了一个库,iconv-lite。试用了一下发现可以正常解码。

$ yarn add iconv-lite
  const iconv = require('iconv-lite')
  const chinese = iconv.decode(Buffer.from('9dbb', 'hex'), 'GB18030')
  console.log(chinese) // 澔
Last Updated: 2/24/2020, 9:11:55 PM