2012-05-13 7 views
2

EDIT:Ooooops。文字のバイト数を数える方法

console.log (Buffer.byteLength ("", "utf8")); //--> 3 

私は文字のバイト数をカウントします。これは私が持っているものです。

var charBytesLength = function (c){ 
    var n = 0; 
    c = c.charCodeAt (0); 
    do{ 
     c = c >>> 8; 
     n++; 
    }while (c); 
    return n; 
}; 

文字はUTF8を使用してエンコードされている場合は、2バイトを超える機能を持つ文字のためにJavaScriptで文字が16ビットの値であり、charCodeAt()は値だけを返すので、常に2を返します。例えば、0〜65535

間:

"".charCodeAt (0) 

戻る65533、実際の16進数の値が0x24065である(10進数147557)

実際のバイト数を計算する方法は知っていますか?

答えて

2
console.log (Buffer.byteLength ("", "utf8")); //--> 3 
関連する問題