ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
Unicodeの表現方法の一つとして提出されたI-Dの一つ。しかしRFCとなることなく破棄された。
このUTF-9は、UTF-8に似ているが、Latin-1(ISO-8859-1)文字のうち0/0〜7/15と、10/0〜15/15までをそのままの値で扱える点にある。
8/0〜9/15は2バイト以上の表現となるが、そもそもここはC1制御文字の領域であり実際としてあまり使われていない。従ってUTF-9はLatin-1圏にとってはソフトウェアを殆ど変更せずに済むため、とても都合が良い。
しかしUTF-9は、Latin-1圏以外では、全く都合が良くなかった。
そもそもUTF-8が既に普及しつつある中での提案だったため劣勢感は否めず、その上に山ほど欠点を加えてあるのが痛かったといえる。
UTF-9はUTF-8と違い10/10〜15/15の文字が1バイトである可能性があるため、途中のバイトを見ても先頭か途中かの判断を付けることができず、判断のためには前に戻らなければならないという欠点がある。
また1バイト目に8/0〜9/15を使うため、ソートをするのに不便という点も見逃せない。
UTF-9ではUnicodeのU+0000〜U+007F、U+00A0〜U+00FFは1バイトで表現される。
U+0080〜U+00FFとU+0100以上は、2バイト以上で表現する。
UCS-4 (16進) | UTF-9 (2進) |
---|---|
00000000〜0000007F | 0xxxxxxx |
00000000〜0000007F | 0xxxxxxx |
000000A0〜000000BF | 101xxxxx |
000000C0〜000000FF | 11xxxxxx |
00000100〜000007FF | 1000xxxX 1xxxxxxx |
00000800〜0000FFFF | 100100Xx 1xxxxxxX 1xxxxxxx |
00010000〜007FFFFF | 100101xx 1xxxxxXx 1xxxxxxX 1xxxxxxx |
00800000〜7FFFFFFF | 10011xxx 1xxxxXxx 1xxxxxXx 1xxxxxxX 1xxxxxxx |
上記Xはオクテットごとの先頭MSBである.
先頭バイトが8/0〜8/15だと2バイト長、9/0〜9/3だと3バイト長、9/4〜9/7だと4バイト長、9/8〜9/15だと5バイト長となる。2バイト目は8/0〜15/15である。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます