uuencode

バイナリファイルをエンコードする

uuencode - バイナリファイルをエンコードする uudecode - uuencode で作成されたファイルをデコードする
uuencode [-m] [ file ] name uudecode [-o outfile] [ file ]...
uuencodeuudecode は、単純なアスキーデータしかサポートしていない 伝送路を用いて、バイナリファイルを送るために使われる。 uuencodefile (デフォルトでは標準入力) を読み込み、 エンコードしたものを標準出力に書き出す。 エンコードには表示可能なアスキー文字のみが使われる。 このデータには uudecode が使うファイルのアクセス権とオペランド名 name が含まれる。 name/dev/stdout の場合、 結果は標準出力に書き出される。 デフォルトでは、標準的な UU エンコーディング形式が使われる。 オプション -m がコマンドラインから指定されると、 base64 エンコーディングが代わりに使われる。 uudecode は、uuencode された files (デフォルトでは標準入力) を元の形に変換する。 結果のファイルは、name (-o オプションが指定された場合は、 outfile ) という名前が付けられ、 setuid と実行ビットが保存されない以外は、 元のファイルと同じアクセス権を持つ。 outfilename が /dev/stdout の場合、結果は標準出力に書き出される。 uudecode は、(uuencode 部分の) 前後のすべての行を無視する。 プログラムは、(UU と base64 の) どちらのエンコード形式が使われているかを、 自動的に判断することができる。
次の例では、ソースツリーを (tar で) まとめ、compress し、 uuencode して、他のシステム上のユーザーにメールで送っている。 相手のシステムで uudecode が実行されると、ファイル ``src_tree.tar.Z'' が作られる。 このファイルは、uncompress した後、 元のソースツリーを (tar で) 取り出すことができる。
tar cf - src_tree | compress |
uuencode src_tree.tar.Z | mail sys1!sys2!user
compress(1), mail(1), uucp(1), uuencode(5)
この実装は P1003.2b/D11 に準拠する。
uudecode に 2 つ以上のファイルを渡して -o オプションを指定した場合や、 エンコードする複数のファイル中に同じ name が 2 つ以上あった場合、結果は期待したようにはならないだろう。 エンコードされた形式では、UU エンコードの場合 37%、 base64 エンコードの場合 35% サイズが大きくなる (3 バイトのデータが 4 バイト + 制御情報になる)。
uuencode コマンドは BSD 4.0 で登場した。