2000/11/24 [金]
UTF-8 / UTF-2 への変換方法は次の通りです。ただし U を UCS または Unicode のコードポイントを表すことにします。また Bxx という表現は左にある U の xx ビット目の値をあらわしています。数字の中の _ は見やすくするために便宜上挿入した記号です。
変換方法
- 次の表を用いて、U をバイナリ表現に変換します。
U の範囲 (16進) 変換された表現(バイナリ) 0000_0000-0000_007F 0 B06B05B04B03B02B01B00 0000_0080-0000_07FF 1 1 0 B10B09B08B07B06 1 0 B05B04B03B02B01B00 0000_0800-0000_FFFF 1 1 1 0 B15B14B13B12 1 0 B11B10B09B08B07B06 1 0 B05B04B03B02B01B00 0001_0000-001F_FFFF 1 1 1 1 0 B20B19B18 1 0 B17B16B15B14B13B12 ... 1 0 B05B04B03B02B01B00 0020_0000-03FF_FFFF 1 1 1 1 1 0 B25B24 1 0 B23B22B21B20B19B18 ... 1 0 B05B04B03B02B01B00 0400_0000-7FFF_FFFF 1 1 1 1 1 1 0 B30 1 0 B29B28B27B26B25B24 ... 1 0 B05B04B03B02B01B00
- バイナリを、変換値とします。
変換例
-
漢字 (0x226F 0x575B) →
00100010_01101111 01010111_01011011 →
0010_001001_101111 0101_011101_011011 → 変換 →
1110_0010 10_001001 10_101111 1110_0101 10_011101 10_011011 →
E289AFE59D9B
by seclan