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システム間のファイル交換
- 歴史的メールアーカイブのデコード
例
- 入力
HelloOutputbegin 644 file.txt\n%2&5L;`\nendSimplified illustration
よくあるエラー
- Confusing uuencode with xxencode or xxhash
- Check the begin line and the 644 permission marker
関連用語
Base64
Base64 は任意のバイナリデータを 64 種類の印刷可能 ASCII 文字(A-Z、a-z、0-9、+、/)へ写像し、バイナリデータをテキスト専用チャネルで伝送できるようにする。 用語集
MIME Encoding
MIME(Multipurpose Internet Mail Extensions)エンコーディングは、メールで非 ASCII テキストやバイナリ添付を運ぶ仕組みを定義する。Base64 と Quoted-Printable のコンテンツ転送符号化を含む。 用語集
Ascii85
Ascii85(Base85)は 4 バイト(32 ビット)ごとに 5 文字の ASCII へ写像し、膨張率は約 25% と Base64 の約 33% より低い。PDF や PostScript で使われる。 用語集
関連ツール
UUencode エンコーダー
UUencode text for Unix-to-Unix transfer。無料、プライベート、100%クライアントサイド。 ツール
UUdecode デコーダー
Decode UUencoded text。無料、プライベート、100%クライアントサイド。 ツール
Xxencode エンコーダー
xxencode 文字セット(+ - 0-9 A-Z a-z)で 3 対 4 グループ化によりテキストをエンコードします。標準の行長プレフィックス行は出力されないため、他の xxencode 実装との往復変換がうまくいかない場合があります。 ツール
Xxdecode デコーダー
本サイトの XXEncode ツールが生成した xxencode テキストをデコードします。行長プレフィックス文字を含む標準的な xxencode 出力はサポートされておらず、プレフィックスはデータとしてデコードされてしまいます。 ツール