如何将字节串写入Nodejs中的文件?

时间:2016-06-27 08:00:21

标签: javascript node.js encoding

我需要将字符串转换为base16-be格式。为此,我使用了iconv模块,如下所示:

var Buffer = require('buffer').Buffer;
var Iconv  = require('iconv').Iconv;
var iconv = new Iconv('UTF-8', 'UTF-16BE');
var str = 'Hello \'s world';
var con = iconv.convert(new Buffer(str));
console.log(con);

输出结果为:

`<Buffer 00 48 00 65 00 6c 00 6c 00 6f 00 20 00 27 00 73 00 20 00 77 00 6f 00 72 00 6c 00 64>`

现在我想在文件中写下以下表示:

00480065006c006c006f00200027007300200077006f0072006c0064

我将阅读并传递给网址。

使用&#39; fs&#39;,如果我尝试写入文件,它会存储原始字符串而不是此字符串。有人可以指导我实现这个目标的正确途径是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用返回迭代器的buffer.values()方法访问Buffer值。

var result = ""

for (var value of buffer.values()) {
  var hex = value.toString(16)
  result += hex.length == 2 ? hex : "0" + hex
}

这应该将缓冲区作为输入,并在结果变量中返回一个包含所需表示的字符串。