2000/11/20 [月]
UTF-5 への変換方法は次の通りです。ただし U を UCS または Unicode のコードポイントを表すことにします。また Bxx という表現は左にある U の xx ビット目の値をあらわしています。数字の中の _ は見やすくするために便宜上挿入した記号です。
変換方法
- 次の表を用いて、U をバイナリ表現に変換します。
U の範囲 (16進) 変換された表現(バイナリ) 0000_0000-0000_000F 1 B03B02B01B00 0000_0010-0000_00FF 1 B07B06B05B04 0 B03B02B01B00 0000_0100-0000_0FFF 1 B11B10B09B08 0 B07B06B05B04 0 B03B02B01B00 ... 1000_0000-7FFF_FFFF 1 B31B30B29B28 0 B27B26B25B24 ... 0 B03B02B01B00
- 次の表のように、バイナリの対応する文字を変換された値とします。C 言語で書くと、"0123456789ABCDEFGHIJKLMNOPQRSTUV"[バイナリ] の値となります。アルファベットは必ず大文字を使用します。
バイナリ 0_0000 0_0001 0_0010 0_0011 0_0100 0_0101 0_0110 0_0111 変換値 0 1 2 3 4 5 6 7 バイナリ 0_1000 0_1001 0_1010 0_1011 0_1100 0_1101 0_1110 0_1111 変換値 8 9 A B C D E F バイナリ 1_0000 1_0001 1_0010 1_0011 1_0100 1_0101 1_0110 1_0111 変換値 G H I J K L M N バイナリ 1_1000 1_1001 1_1010 1_1011 1_1100 1_1101 1_1110 1_1111 変換値 O P Q R S T U V
変換例
- 漢字 (0x226F 0x575B) → "I26FL75B" (すなわちバイト列 493236464C373542)
by seclan