この記事では主にjsで文字列バイトを取得する方法を紹介します。例はjavascript文字列の長さ計算の関連テクニックをまとめています。必要な方は参考にしてください
この記事の例はその方法について説明しています。 jsで文字列バイトを取得する方法。皆さんの参考に共有してください。詳細は次のとおりです:
文字列の長さを取得するために length を使用できることは誰もが知っています
では、この文字列のバイト数を取得するにはどうすればよいでしょうか。
英語の文字の長さとバイト数は同じでなければなりません: どちらも 1 です
そして中国語の長さ = 1、バイト数 = 2
したがって、しなければならないことは、中国語の文字のバイト数を計算することです。
方法 1:
alert('a'.replace(/[^\u0000-\u00ff]/g,"aaa").length); //原理:把中文字符替换成2个英文字母,那么字节数就是2, //示例中改成替换成3个英文字母了。 //因此弹出的字节数是3,如果要正确的,当然是替换成2个字母了 //\u0000这个表示的是unicode编码
方法 2:
var str='我我我'; var bytesCount; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); if (/^[\u0000-\u00ff]$/.test(c)) //匹配双字节 { bytesCount += 1; } else { bytesCount += 2; } } alert(bytesCount); //结果是6 //原理也很简单,用正则判断是不是中文,如果是的话,字节数就加1。
漢字の 正規表現 と一致する: [u4e00-u9fa5]
全角文字 (漢字を含む) と一致する: [^x0000-x00ff]
文字列の長さを計算するために使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます)
JS のいくつかの関数:
charAt(num) / /文字列の num 番目の位置を取得します
charCodeAt(num)//文字列の num 番目の位置にある文字の Unicode エンコーディングを取得します
fromCharCode(num)//Unicode エンコーディングに対応する文字を取得します
以上がjsを使って文字列のバイト数を取得する方法まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。