PHP:走向多位元組

WBOY
發布: 2024-08-12 08:35:32
原創
564 人瀏覽過

PHP: Going multibytes

多字節字元在程式設計中可能會很棘手。

警告

mbstring 預設情況下不啟用。確保您之前閱讀過該部分。

為什麼要費心多位元組字串呢?

文件可以包含多位元組字串。雖然 PHP 有很多有用的字串幫助器,但這些幫助器根本不適用於多位元組字串。

它可能會導致討厭的錯誤和其他意外錯誤,尤其是當您計算字元時。

這就是為什麼你寧願在 PHP 中使用多位元組字串函數。

此外,新的多位元組字串函數,例如 mb_trim、mb_ltrim 和 mb_rtrim 將在 8.4(撰寫本文時的 PHP 的下一個版本)中提供。

為什麼有些字元需要多個位元組?

英語使用 ASCII 字元集,所以像 r 或 s 這樣的字母只需要一個位元組。

相較之下,有些語言使用的字元需要超過 1 個位元組,例如漢字(最多可達 6 個位元組!)。

幾個例子

計數字元

雷雷

尋找位置

雷雷

剪線

雷雷

對性能的影響

您可能會讀到 mbstring 函數可以產生重大影響。

您甚至可以使用以下腳本重現它:

雷雷

來源:PHP bug

mb_* 函數速度較慢,但這始終是一種權衡,只有上下文才能決定您是否應該使用這些幫助器還是建立自己的幫助器。

例如,如果替換$cnt = 100000;通過$cnt = 100;在上面的腳本中, mb_* 助手仍然明顯較慢,但在您的情況下最終的影響可能很好(例如,0.008 毫秒與0.004 毫秒)。

包起來

您必須考慮多字節,尤其是在多語言上下文中,PHP 對此有內建的幫助程式。

以上是PHP:走向多位元組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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