seclan のほえほえルーム

| |

uuencode に使用されてる基本変換方法

・
2000/12/15 []

 uuencode とは、Unix で昔から用いられている、バイナリをテキストに変換するプログラムです。これに用いられている変換方式は、Base64 の基礎となっています。したがって、知っておく価値はあるでしょう。uuencode で用いられている基本的な変換方法は次の通りです。

基本変換方法

  1. 文字列の先頭から順に 3 文字単位で変換を行います。任意の時点の 3 つ文字 ABC のビットを次のように表現します。
    A7 A6 A5 A4 A3 A2 A1 A0   B7 B6 B5 B4 B3 B2 B1 B0   C7 C6 C5 C4 C3 C2 C1 C0  
  2. このビット列の MSB から 6 bit 毎に切り出し、上位 2 bit を 0 にしたバイト列にします。
    0 0 A7 A6 A5 A4 A3 A2  0 0 A1 A0 B7 B6 B5 B4  0 0 B3 B2 B1 B0 C7 C6  0 0 C5 C4 C3 C2 C1 C0 
  3. 各バイトに 0x20 を加算します。ただし加算の結果 0x20 になったバイトは 0x60 にします。これは、つまり「`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_」の表を引くということになります。
  4. 変換した結果を出力します。
  5. 入力文字列がなくなるまで繰返します。



by seclan

関連


| |

 

配信

6.5 msec