3

我有一个用 XYZ 编码的字符串,我想用 UTF8 编码它。我正在查看缓冲区,但它不支持除 ASCII、十六进制、Base64 和 UTF8 之外的任何其他内容,因此我无法将必须将其转换为缓冲区的字符串提供给它。

我当前的代码(使用 iconv-lite)是:

buffer = new Buffer(str, charset);    <------ will fail as charset is ISO-8859-1 (it could be any other charset anyways)
str = iconv.decode(buffer, charset);
str = iconv.encode(buffer, 'utf8').toString('utf8');

我试图避免 iconv 因为那是 Windows 的 PITA。任何其他纯 JavaScript 解决方案对我来说都可以。

4

1 回答 1

0

这是编码/解码的示例

  var str = "11afe0bc36d62793bacbe46ef809a3f8de86bfdf1fc901d664c2f740ce51947c";
  var charset = "hex";
  var buffer = new Buffer(str, charset);
  var utf8String = buffer.toString(charset);
  console.log(buffer);
  console.log(utf8String);

将会写 :

  1. 行:<缓冲区 11 af e0 bc 36 d6 27 93 ba cb e4 6e f8 09 a3 f8 de 86 bf df 1f c9 01 d6 64 c2 f7 40 ce 51 94 7c >

2.线路:11afe0bc36d62793bacbe46ef809a3f8de86bfdf1fc901d664c2f740ce51947c

于 2013-10-04T15:07:56.823 回答