ホームページ >バックエンド開発 >PHPチュートリアル >UTF-8 文字列から UCS-2 コード ポイントを抽出するにはどうすればよいですか?

UTF-8 文字列から UCS-2 コード ポイントを抽出するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 17:45:30635ブラウズ

How to Extract UCS-2 Code Points from UTF-8 Strings?

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 バイト (110xxxxx 10xxxxxx)
  • U 0800 — U FFFF: 3 バイト (1110xxxx 10xxxxxx 10xxxxxx)
  • U 10000 — U 10FFFF: 4 バイト (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx)

コード内のバイト数を決定するには最初のバイトを調べます:

  • 0x00: 1 バイト
  • 0xC0: 2 バイト
  • 0xE0: 3 バイト
  • 0xF0: 4 バイト
  • 0x10: 継続バイト
  • 0x11111: 無効な文字

バイト数がわかれば、ビット操作によってコードポイントを抽出できます。 UCS-2 の範囲は限られており、U FFFF より上の文字を表現できないことに注意してください。

以上がUTF-8 文字列から UCS-2 コード ポイントを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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