1. ホーム
  2. unicode

[解決済み] ノンチャラクターU+FDD0~U+FDEFは何のためにあるのですか?

2022-02-18 06:09:57

質問内容

バイトオーダーマークを有効にするためには、U+FFFEは非文字である必要があります。

U+FFFFは、以下のように記述されています。 ユニコード規格 として、quot;センチネルとして内部用に有用である"。 理にかなっていますね。

しかし、なぜ非文字の集合が"Arabic Presentation Forms-A"の中のランダムなブロックを含むのかがわかりませんし、Unicode Standardもあまり説明してくれません。 これらは何でしょうか。 のために ? (他に バジリスクの目 ?)

解決方法は?

さて、問題は「何のためのものなのか」ということと、「なぜアラビア語のプレゼンテーションフォームの真ん中にあるのか」ということです。

  • プログラマーが内部処理の目的で使用できる追加コードを作るために、32個の非文字のブロックが必要だったのです。 http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=IWS-Chapter04a#4d3110c8
  • UTF-16でシングルコードポイント表現ができるように、BMP(Basic Multilingual Plane)、つまり0x0000から0xFFFFであることが要求されました。
  • アラビア語のプレゼンテーションフォームのブロックに未使用のコードポイントがありました。
  • アラビア語のプレゼンテーションフォームはこれ以上エンコードしないことが合意されていたので、これらは使用されることはありませんでした。 http://www.unicode.org/mail-arch/unicode-ml/y2001-m10/0014.html

そのため、他に使われることのないこれらのコードポイントは、アプリケーション/プログラマーが内部で使用できるようにノンキャラクタとすることで合意されました。