uuencode(5) エンコードされた uuencode ファイルの形式

説明

uuencode(1) のファイル出力は、 1 行のヘッダー行・複数行のボディー行・ 1 行のフッター行から構成される。 uudecode(1) コマンドは、ヘッダーより前やフッターより後の すべての行を無視する。 もちろん、ヘッダーより前の行は、ヘッダーのように見えてはならない。

ヘッダー行は、最初の 6 文字が begin  であることで識別される。 単語 begin の後には、アクセス権 (8 進数表記) とリモートファイルの名前になる文字列が続く。 ヘッダー行中の 3 つのアイテムはスペースで区切られる。

ボディーは複数行で、各行は (最後の改行を含めて) 最大 62 文字の長さである。 各行は、文字カウント、続いてエンコードされた文字列、 続いて改行文字、というように構成されている。 文字カウントは、1 個の表示可能文字で整数値を表している。 この整数値は、行の残りの文字列が表現しているバイト数を表している。 この整数値は常に 0 から 63 の範囲で、 その文字カウント (を整数にしたもの) から スペース文字 (8 進数で 40) を引けば求められる。

3 バイトからなるグループが 4 文字で表現される。 つまり、1 文字あたり 6 ビットを表現する。 文字を表示可能にするために、 すべてのビットがスペース文字でオフセットされる。 ボディーの最終行は、通常の 45 バイトより短くなる場合もある。 (エンコードされるファイルの) サイズが 3 バイトの倍数でない場合、 ボディー最終行の文字カウントの値をみると、3 バイトの倍数でないことがわかる。 文字カウントを 4 の倍数にするため、余分なゴミが追加される場合がある。 ボディーは、文字カウントが 0 の行で終了する。 この行は、1 個のアスキーのスペース文字からなる。

フッター行は、 end という行だけからなる。

履歴

uuencode ファイル形式は、BSD 4.0 で登場した。