コンテンツへスキップ
uencoder

UUencode Encoding

UUencode(Unix-to-Unix encoding)は、初期のUnixシステムがUUCP上でバイナリファイルを転送するために使ったバイナリからテキストへの変換方式で、その後Base64/MIMEに取って代わられました。

目的

7ビットテキストしか対応しないUUCP回線でバイナリファイルを運ぶために使われ、MIME以前の事実上の標準でした。

メカニズム

3バイト(24ビット)ごとに4つの6ビット単位へ分割し、それぞれに32を加算して印字可能なASCII値にする(スペース0x20はバッククォート`に置換)。各行の先頭にはバイト数を付け、ペイロードはbegin/end行で囲む。

ユースケース

  • 初期のUsenetバイナリ添付
  • UUCPメールでのバイナリ転送
  • レガシーUnixシステム間のファイル交換
  • 歴史的メールアーカイブのデコード

例

  • 入力
    Hello
    Output
    begin 644 file.txt\n%2&5L;`\nend

    Simplified illustration

よくあるエラー

Confusing uuencode with xxencode or xxhash
Check the begin line and the 644 permission marker

関連用語

関連ツール

References