seclan のほえほえルーム

| |

UTF-5 への変換方法

・
2000/11/20 []

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

変換方法

  1. 次の表を用いて、U をバイナリ表現に変換します。
    U の範囲 (16進) 変換された表現(バイナリ)
    0000_0000-0000_000F1 B03B02B01B00
    0000_0010-0000_00FF1 B07B06B05B04  0 B03B02B01B00
    0000_0100-0000_0FFF1 B11B10B09B08  0 B07B06B05B04  0 B03B02B01B00
    ...
    1000_0000-7FFF_FFFF1 B31B30B29B28  0 B27B26B25B24  ...  0 B03B02B01B00

  2. 次の表のように、バイナリの対応する文字を変換された値とします。C 言語で書くと、"0123456789ABCDEFGHIJKLMNOPQRSTUV"[バイナリ] の値となります。アルファベットは必ず大文字を使用します。
    バイナリ 0_00000_00010_00100_00110_01000_01010_01100_0111
    変換値 01234567
    バイナリ 0_10000_10010_10100_10110_11000_11010_11100_1111
    変換値 89ABCDEF
    バイナリ 1_00001_00011_00101_00111_01001_01011_01101_0111
    変換値 GHIJKLMN
    バイナリ 1_10001_10011_10101_10111_11001_11011_11101_1111
    変換値 OPQRSTUV

変換例

  • 漢字 (0x226F 0x575B) → "I26FL75B" (すなわちバイト列 493236464C373542)


by seclan

関連


| |

 

配信

5.64 msec