確定UTF-8 字元的UCS-2 代碼點
在各種程式設計場景中,可能需要擷取UCS-2與UTF -8 字串中的字元關聯的代碼點。為了滿足此要求,明智的做法是利用內建實用程式或深入研究 UTF-8 編碼格式的複雜性。
UTF-8 使用可變長度位元組序列對字元進行編碼。每個代碼點由 1 到 4 個位元組表示,取決於其值。適用以下範圍:
- U 0000 — U 007F:1 位元組(0xxxxxxx)
- U 0080 — U 07FF:2 位元組(110xxx 10xxx) U 0800 — U FFFF: 3 位元組(1110xxxx 10xxxxxx 10xxxxxx)
- U 10000 — U 10FFFF: 4 位元組(11110xxx 10xxxxxx 100xxx 10xxx)數點,檢查第一個位元組:
- 0x00:1 個位元組
0xC0:2 個位元組
0xE0:3 個位元組- 0xF0:4 個位元組
- 0x10:連續位元組
- 0x11111:無效字元
-
- 一旦知道位元組數,就可以透過位元組數位元操作提取代碼點。請注意,UCS-2 的範圍有限,不能表示 U FFFF 以上的字元。
以上是如何從 UTF-8 字串中提取 UCS-2 代碼點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!