seclan のほえほえルーム

| |

Unicode: UTF-17 への変換方法

・
2007/01/23 []

この符号方式は、他の UTF とは違い、UTF-16 の次という意味から名づけられたと思われ、UTF の 17bit 版ではありません。この変換方法の提案者は 64bit アーキテクチャ用だと主張しており、変換結果は常に 8バイト=64bit になります。

変換方法

  1. 次のように、U をバイナリ表現に変換します。
    U の範囲 (16進) 変換された表現(バイナリ)
    0000_0000 00111000   0 0 1 1 0 B20B19B18   0 0 1 1 0 B17B16B15   0 0 1 1 0 B14B13B12   0 0 1 1 0 B11B10B09   0 0 1 1 0 B08B07B06   0 0 1 1 0 B05B04B03   0 0 0 0 0 B02B01B00
    0000_0001-0010_FFFF 00111000   0 0 1 1 0 B20B19B18   0 0 1 1 0 B17B16B15   0 0 1 1 0 B14B13B12   0 0 1 1 0 B11B10B09   0 0 1 1 0 B08B07B06   0 0 1 1 0 B05B04B03   0 0 1 1 0 B02B01B00

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

変換例

  • 漢字 (0x226F 0x575B) → 
    00100010_01101111 01010111_01011011 → 変換 → 
    0_010_001_001_101_111 0_101_011_101_011_011 → 
    00111000 00110000 00110000 00110010 00110001 00110001 00110101 00110111  00111000 00110000 00110000 00110101 00110011 00110101 00110011 00110011 → 
    38 30 30 32 31 31 35 37 38 30 30 35 33 35 33 33 → 
    38303032313135373830303533353333 (このバイナリをダンプすると "8002115780053533" という ASCII 文字列に見える)


by seclan

関連


| |

 

配信

4.8 msec