如何在node.js中将CP852解码为UTF-8?

3
有没有办法在Node或客户端网页中将文本从CP852转换为UTF-8?
1个回答

3

使用iconv应该是可能的:

var iconv = require('iconv');
var cp852 = new iconv.Iconv('CP852', 'UTF-8');

// based on http://en.wikipedia.org/wiki/Code_page_852
// Ç (U+00C7), É (U+00C9), á (U+00E1), and ░ (U+2591)
var input = new Buffer([ 128, 144, 160, 176 ]);

console.log(cp852.convert(input));

或者你可以尝试使用iconv-lite

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

var input = new Buffer([ 128, 144, 160, 176 ]);

console.log(iconv.decode(input, 'cp852'));

忘记说我想在Windows上运行它,而iconv不想安装在那里。 - Krzysztof Skowroński
1
@KrzysztofSkowroński 如果你已经满足了 node-gyp 在 Windows 上的安装要求,那么你应该能够安装 iconv。否则,你可以尝试使用 iconv-lite(请参见编辑部分的片段)。 - Jonathan Lonowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接