MorFans Dev
折腾 - 开发 - 分享

Node.js 使用原生 TextDecoder 类进行编码转换以解决 child_process 在 Windows 下乱码

Node.js 使用原生 TextDecoder 类进行编码转换以解决 child_process 在 Windows 下乱码

前言

由于之前的一个 Windows 下的 Electron 项目需要执行命令来获取一些系统信息,但是由于 child_process.execFileSync() 并不支持 Windows 所使用的 GBK 编码,于是我在网上找到了使用 iconv-lite 来转码的方案。后来,在翻阅 Node.js 文档的时候无意间看到了其实 Node.js 自带编码转换类 TextDecoder。值得注意的是,TextDecoder 需要 Node.js v8.3.0 及更新版本才能使用,如果你的 Node.js 版本过低,那么请及时更新或使用 iconv-lite 吧。

使用方法

其实非常简单,更详细的说明请参阅 Node.js 文档。举个小例子。

const decoder = new TextDecoder('gbk');
console.log(decoder.decode(child_process.execFileSync('TASKLIST')));
赞赏
魔帆博客,版权所有 | 如未注明,均为原创
本站均采用 BY-NC-ND 协议 (署名-非商业性使用-禁止演绎) 进行授权。
转载请注明来自本站文章:Node.js 使用原生 TextDecoder 类进行编码转换以解决 child_process 在 Windows 下乱码(https://www.morfans.cn/archives/2573)
# # # # #
首页      技术教程      Node.js      Node.js 使用原生 TextDecoder 类进行编码转换以解决 child_process 在 Windows 下乱码

chenjunyu19

文章作者

一只恰巧路过这里的普通旅行者。

发表回复

textsms
account_circle
email

Node.js 使用原生 TextDecoder 类进行编码转换以解决 child_process 在 Windows 下乱码
前言 由于之前的一个 Windows 下的 Electron 项目需要执行命令来获取一些系统信息,但是由于 child_process.execFileSync() 并不支持 Windows 所使用的 GBK 编码,于是我在网上找到了…
扫描二维码继续阅读
2017-12-16