Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

uuencode

バイナリファイルをエンコードする
2015/05/20 08:00

対応OS: linux , freebsd, solaris
uuencode [-m] [FILE] NAME

 uuencodeコマンドは、電子メールなどのように、ASCII文字のテキストデータしかサポートしていないプロトコルを用いて、バイナリデータを送るために使用します。

 uuencodeコマンドは、FILEに指定したファイルを読み込み、表示可能なASCII文字のみに変換した結果を標準出力に表示します。この変換のことをエンコードといいます。

 また、エンコード後のデータには、ファイルのアクセス権と引数NAMEに指定した名前の情報が含まれます。

プロトコル

 ネットワーク間で行われる通信のために定義された手順や取り決めのことを、プロトコルといいます

テキストデータとバイナリデータ

 テキストデータとは、データのすべてがASCIIコード(文字コード)で形成されるデータのことであり、エディタなどで作成したファイルがそれにあたります。一方、バイナリデータは、文字コード以外のコードも含まれるデータで、実行可能形式ファイルなどがこれにあたります

オプション
① -m
エンコーディング形式を「base64」にします。「base64」は、電子メールのシステムで一般的に使用されているエンコーディング形式です。省略した場合には、標準的なUUエンコーディング形式を使用します。
引数
① FILE
エンコードするファイル名を指定します。省略した場合は標準入力からデータを読み込みます。
② NAME
エンコード後のデータに付加する名前を指定します。
圧縮済みアーカイブファイルを作成してエンコードする
$ tar cf - src_tree | compress | uuencode -m src_tree.tar.Z > src_tree.uue 
$
ディレクトリ「src_tree」から圧縮済みアーカイブファイルを作成してから、電子メールに添付できる「base64」形式にエンコード
gzip形式の圧縮ファイルをエンコードする
[takeda]$ uuencode -m file.gz file 
「base64」形式にエンコード
begin-base64 664 file
H4sICG5xHT8AA2ZpbGUAARkA5v+ks6TspM9maWxlMDGkzsbizcakx6S5oaMK
エンコードの結果
ASCII文字のみからなるテキストデータとなる
1HRrWxkAAAA=
====
[takeda]$
HINT!

 tarコマンド・パイプ

 compressコマンドについては、本書では解説していませんが、gzipコマンドと同様にデータの圧縮を行うコマンドです

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5