UUENCODE(1)

名称
uuencode, uudecode, b64encode, b64decode - バイナリファイルのエンコード、デコード

書式
uuencode [-m] [-o output_file] [file] name uudecode [-cimprs] [file ...] uudecode [-i] -o output_file b64encode [-o output_file] [file] name b64decode [-cimprs] [file ...] b64decode [-i] -o output_file [file]

解説
uuencode および uudecode のユーティリティは、 ASCII データ以外のデータ転送をサポートしてない伝送路を用いてバイナリファイル を送る場合に用いられます。 b64encode ユーティリティは、 -m フラグが指定された uuencode の同義語です。 b64decode ユーティリティは、 -m フラグが指定された uudecode の同義語です。

uuencode ユーティリティは、 file (無指定時には標準入力) よりデータを読み込み、符号化されたデータを標準 出力または output_file が指定された場合にはそこに書き込みます。 出力データには、 ASCII キャラクタしか含まれません。また、このデータには、 uudecode を用いて元のファイルを復元する時に必要となるファイルのモードと name が含まれます。

uudecode ユーティリティは、 uuencode によって生成されたファイル (もしくは、標準入力からのデータ) を元の形式 に変換します。生成されるファイルは、 uudecode 時に指定された名前 ( name ) または ( uudecode に指定されたオプションに依存して) output_file になり、ファイルモードなどは変換前のものが採用されますが、 setuid ビットと実行ビットは引き継がれません。 uudecode ユーティリティは、前後の行をすべて無視します。

以下のオプションを uudecode で使用可能です:

-c  file から、可能であるならば複数の uuencode されたファイルをデコードします。

-i  ファイルの上書きをしません。

-m  -r フラグと共に使用された場合、伝統的な uuencode 入力の代りに Base64 入力をデコードします。 -r が無い場合には、このフラグは無効です。

-o output_file
    入力データに含まれるパス名のファイルにではなく、 output_file に出力します。

-p  file をデコードし、標準出力に出力します。

-r  最初や最後のフレーミング行が無い、生の (または壊れた) 入力をデコードします。 入力は、伝統的な uuencode エンコードが仮定されます。 -m フラグ使用時や、 b64decode として起動された場合、入力は Base64 形式が仮定されます。

-s  出力パス名をベース名に縮めません。 セキュリティのために、デフォルトでは uuencode は最後のスラッシュ '/' より前のプレフィックスを除去します。

使用例
ソースツリーを compress し、uuencode し、別のシステムにメールで送る例を 以下に示します。 uudecode が転送される側のシステムで実行されると、 ``src_tree.tar.Z'' が生成されます。 このファイルはその後 uncompress され、元のツリーが展開されるでしょう。

    tar cf - src_tree | compress |
    uuencode src_tree.tar.Z | mail sys1!sys2!user

以下の例では、すべての uuencode されたファイルを、 あなたのメールボックスから現在の作業ディレクトリへ展開します。

    uudecode -c < $MAIL

以下の例では、compress された tar アーカイブをあなたのメールボックスから 展開します。

    uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -

関連項目
basename(1), compress(1), mail(1), uucp(1), uuencode(5)

バグ
符号化されたファイルの大きさは、元のファイルの大きさに比較して 35% ほ ど大きくなります。これは、3byte のデータを 4byte + 制御符号に変換する ためです。

歴史
uuencode および uudecode は 4.0BSD から登場しました。