2016-03-30 19 views
0

私は、バッファから不要な要素を削除するのにslice()を使用しようとしています。コードは次のようになります。NodeJS buffer.slice()は関数ではありませんか?

function unpack (item) { // item is a buffer 
    var ivlength = 16; 
    if(algorithm == 'aes-128-ecb') ivlength = 0; 
    var ciphertext = item.slice(ivlength, item.length); 
    return ciphertext; 
} 

コンソールには、item.slice()は機能ではありません。 NodeJSのドキュメントには、そうでなければ、buf.slice() documentationと書かれています。

NodeJSをバージョン5.9.1にアップデートしました。

答えて

1

slice()は、ないPシラミをサポートしているものです()。

+0

申し訳ありませんが、それはタイプミスでした。スライス()を実際に使用しましたが、うまくいきません。 –

+0

'console.dir(Buffer.isBuffer(item))'とは何を表していますか? – mscdex

+0

これは偽言うが、 'にconsole.log(MSG)は'言う: 'Uint8Array [188] プロト:Buffer' 項目の積である: '機能パック(IV、暗号文){ \t(アルゴリズム場合== 'aes-128-ecb')iv =新しいバッファ( ''); \t var item = Buffer.concat([iv、ciphertext]); \t返品商品; } ' –

0

受信したアイテムをunpack()関数のバッファパラメータとして使用しようとしたため問題が発生しました。その関数に渡す前に、バッファを直列化できないことを知らずに、ソケットを通してシリアル化され受信されました。 )(

var buff = new Buffer(_msg.content); 
var data = unpack(buff); 

機能スライスを正しく動作します。私は次のように受信したデータから、新しいバッファを作成することによって、これを解決しました。

関連する問題