獲得包含中英文字串的自然長度

高洛峰
發布: 2023-03-05 15:26:01
原創
1216 人瀏覽過

考驗對encoding的意識

程式碼實例:

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

結果是12 ,6

  • strlen()計算的是字串的位元組數,一個英文字元是1字節,中文字符在GBK下編碼是2字節,UTF8是3字節,所以位元組數為3*3+3 = 12

  • mb_strlen()需要mb_string擴展,mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ),第一個參數是要偵測的字串,第二個參數是編碼格式,多位元組字元被記為1


考驗對encoding的意識

程式碼實例:

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

結果結果結果是12 , 6

  • strlen()計算的是字串的位元組數,一個英文字元是1字節,中文字元在GBK編碼下是2位元組,UTF8是3位元組,所以位元組數為3*3+3 = 12

  • mb_strlen()需要mb_string擴展,mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ),第一個參數是要偵測的字串,第二個參數是要偵測的字串,第二個參數是要偵測的字串,第二個參數是要偵測的字串個參數是編碼格式,多字節字元被記為1

更多獲得包含中英文字串的自然長度相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!