jsを使って文字列のバイト数を取得する方法まとめ

怪我咯
リリース: 2017-07-07 10:38:35
オリジナル
2278 人が閲覧しました

この記事では主に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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート