假设我有一个包含字符的Windows-1252十六进制值的字符串,我想制作适当的Unicode字符:
const asciiHex = '85' //represents hellip
parseInt(asciiHex, 16) //I get 133 as expected
我现在不能String.fromCharCode
,因为这需要使用Unicode代码,而不是ASCII(在unicode hellip中是8230(十进制))。有人知道任何简单的转换吗?
btw我在节点6
中这样做答案 0 :(得分:4)
您没有提及输入编码:哪个字符编码\x85
映射到水平省略号?事实证明,Windows-1252,Node.js没有"说"开箱即用。
可以编码/解码它的模块是windows-1252
。
将十六进制代码转换为UTF-8编码字符串:
const windows1252 = require('windows-1252');
let asciiHex = '85';
let utf8text = windows1252.decode( Buffer.from(asciiHex, 'hex').toString('binary') );
console.log( utf8text ); // outputs: …