使用node中的iconv-lite实现对“gbk”格式的转码

Posted 明明一颗大白菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用node中的iconv-lite实现对“gbk”格式的转码相关的知识,希望对你有一定的参考价值。

在window中,gbk和utf-8是最常见的两种格式,但是我们在显示的时候往往需要将GBK转换为UTF-8,我现在有一个同步读取文件的操作:

const fs = require(‘fs‘);

const path = require(‘path‘);


const buffer = fs.readFileSync(path.join(__dirname, ‘../lyrics/友谊之光.lrc‘));

  .lrc里面的内容是gbk格式的乱码,那我该怎么做呢,有人可能会想到在readFileSync里面加一个“utf8”的属性,但是结果却是差强人意的,在这里我们需要引进一个名叫iconv-lite的node插件,完整代码如下:

const fs = require(‘fs‘);

const path = require(‘path‘);

// 将文本读取到一个buffer中
const buffer = fs.readFileSync(path.join(__dirname, ‘../lyrics/友谊之光.lrc‘));

// 由于Windows下文件默认编码为GBK所以需要通过
const iconv = require(‘iconv-lite‘);
const content2 = iconv.decode(buffer,‘gbk‘);
console.log(content2);

  

以上是关于使用node中的iconv-lite实现对“gbk”格式的转码的主要内容,如果未能解决你的问题,请参考以下文章

JS 转 gbk 编码与 iconv-lite 探究

解决node.js读取.csv文件中文出现乱码问题

解决node.js读取.csv文件中文出现乱码问题

node读取本地文件中文乱码

ModuleParseError:模块解析失败:iconv-lite

express app.js怎么抓取非utf-8编码格式的页面或js