-1
多言語サイト (特に日本語と中国語)で作業しなければならないときはいつも苦労していました。地域言語。1バイト、2バイト、3バイト文字
多言語サイト (特に日本語と中国語)で作業しなければならないときはいつも苦労していました。地域言語。1バイト、2バイト、3バイト文字
文字は、シングルバイト、ダブルバイト、トリプルバイトなどとすることができます。特定の範囲でシングルバイトが続きます。他のキャラクターにも同じことが当てはまります。これに基づき、私はそう機能を超えるメモリに基づい
function getByteLength(normal_val) {
// Force string type
normal_val = String(normal_val);
var byteLen = 0;
for (var i = 0; i < normal_val.length; i++) {
var c = normal_val.charCodeAt(i);
byteLen += c < (1 << 7) ? 1 :
c < (1 << 11) ? 2 :
c < (1 << 16) ? 3 :
c < (1 << 21) ? 4 :
c < (1 << 26) ? 5 :
c < (1 << 31) ? 6 : Number.NaN;
}
return byteLen;
}
上の文字列のサイズを計算します次の関数を作成している機能は、シングルバイトまたはマルチバイトであるかどうかを確認するように変更することができます。
js fiddleは、入力したテキストのサイズをメモリの観点から決定します。
http://jsfiddle.net/paraselixir/d83oaa3v/5/
ストリングは、x文字を有しており、メモリのサイズは、x === yは、全ての文字が単一バイト ありそうである場合、Y ありそうである場合であれば2 * X === yは、すべての文字はダブルバイト それ以外の場合、stringは1バイトと2バイト/複数バイトの組み合わせです。