2016-12-12 4 views
0

JavaScriptはどのようにしてbバッファを次のように簡単に取得できますか?javascriptいくつかの変数からのバッファ

var num=6553599 

    var a = new Buffer(4); 
    a.writeInt32LE(num); 

    var up=a.readUInt8(2); 
    var mid=a.readUInt8(1); 
    var low=a.readUInt8(0);  

    var b=new Buffer(6); 
    b.writeUInt8('T'.charCodeAt(0),0);  
    b.writeUInt8(up ,1); 
    b.writeUInt8(mid ,2); 
    b.writeUInt8(low ,3); 
    b.writeUInt8(0 ,4); 
    b.writeUInt8(1 ,5); 

答えて

1

パフォーマンスが問題でない場合は、バッファの文字列表現を使用してより簡単に作業できます。

通常、私はバッファの16進表記が好きです。読みやすく、バイト数を数えやすいからです。

var bConcat = (a, b) => new Buffer(a.toString("hex") + b.toString("hex"), "hex"); 
var reducer = (acc, current)=> bConcat(acc, current); 
var num=6553599 
var a = new Buffer(4); 
var t = 'T'.charCodeAt(0); 
a.writeInt32LE(num); 
var head = new Buffer(t.toString(16), "hex"); 
var tail = new Buffer("0001", "hex"); 
var b = [head, a.slice(0,3).reverse(), tail].reduce(reducer); 
関連する問題