seclan のほえほえルーム

| |

UTF-8 / UTF-2 への変換方法

・
2000/11/24 []

 UTF-8 / UTF-2 への変換方法は次の通りです。ただし U を UCS または Unicode のコードポイントを表すことにします。また Bxx という表現は左にある U の xx ビット目の値をあらわしています。数字の中の _ は見やすくするために便宜上挿入した記号です。

変換方法

  1. 次の表を用いて、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

  2. バイナリを、変換値とします。

変換例

  • 漢字 (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

関連


| |

 

配信

6.78 msec