###前提・実現したいこと
Node.jsで、バッファ:<Buffer 08 88 f0>
をバイナリ文字列000010001000100011110000
に変換したいです。
初歩的な質問になるかと思いますが、良い解決法が見当たっていないため、お答えいただけるとありがたいです。
よろしくお願いします。
###該当のソースコード
function buf2bin(data){//data = <Buffer 08 88 f0> var num = data.readUInt16BE(0,data.length); var binData = str.toString(2); while(binData.length < 24){ binData = "0" + binData; } console.log("binData : " + binData); return binData; }
###発生している問題・エラーメッセージ
data.lengthでdataのbyte数を指定しているはずですが、最初の2byteしか読めておらず、ずれて下記のようなlogが出ています。
(実際には非常に長いバッファなので、20桁分以上ずれています。paddingナシでは100010001000
のみが出力されます。)
binData : 000000000000100010001000
###試したこと
この他の実装方法として、binaryへの変換に下記の方法を試しましたが、上手くいっておりません。
var hexStr = data.toString('hex', 0, data.length); var binData = parseInt(hexStr).toString(2);
###補足情報(言語/FW/ツール等のバージョンなど)
OS: debian7
言語: Node.js, ver 0.10.29
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/04 00:58 編集