2016-06-27 13 views
-1

文字列をbase16形式に変換する必要があります。このために私は以下のようにのiconvモジュールを使用:Nodejsのファイルにバイト文字列を書き込む方法は?

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 

ました読んでURLに渡します。

ファイルを書き込もうとすると 'fs'を使用して、代わりに元の文字列を保存します。誰かがこれを達成するための適切な方法は何ですか?

答えて

1

イテレータを返すbuffer.values()メソッドを使用してバッファ値にアクセスできます。

var result = "" 

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

これはバッファを入力として受け取り、result変数に必要な表現を含む文字列を返します。

+0

ヒントをいただきありがとうございます。私は幾分同じことをしていたが、正しい方法を知らなかった。再度、感謝します。 – vsingh

関連する問題