ホームページ  >  記事  >  バックエンド開発  >  中国語と英語を含む文字列の自然な長さを取得します

中国語と英語を含む文字列の自然な長さを取得します

高洛峰
高洛峰オリジナル
2017-02-09 09:14:151239ブラウズ

エンコーディングの認識をテストする

コード例:

$str = '大家好abc';
echo strlen($str);
echo '<br/>';
echo mb_strlen($str,'utf-8');

結果は 12, 6 です

  • strlen() は文字列のバイト数を計算します。英語の 1 文字は 1 バイトで、中国語の文字は GBK でエンコードされますは 2 バイト、UTF8 は 3 バイトなので、バイト数は 3*3+3 = 12 です

  • mb_strlen() には mb_string 拡張子が必要です、混合 mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ) 、最初のパラメータは検出する文字列、2 番目のパラメータはエンコード形式、マルチバイト文字は 1 として記録されます


エンコードの認識をテストします

コード例:

$str = '大家好abc';
echo strlen($str);
echo '<br/>';
echo mb_strlen($str,'utf-8');

結果 です12, 6

  • strlen() は、GBK エンコードでは英語文字は 1 バイト、中国語文字は 2 バイト、UTF8 は 3 バイトなので、バイト数は 3* となります。 3+3 = 12

  • mb_strlen() には mb_string 拡張子が必要です。混合 mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )、最初のパラメータは検出する文字列、2 番目のパラメータはマルチバイト文字は 1 として記録されます

中国語と英語の文字列の自然長の取得に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。