我需要将字符串转换为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;,如果我尝试写入文件,它会存储原始字符串而不是此字符串。有人可以指导我实现这个目标的正确途径是什么?
答案 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
}
这应该将缓冲区作为输入,并在结果变量中返回一个包含所需表示的字符串。