# 19.10. `uu` --- uuencode形式のエンコードとデコード

ソースコード: Lib/uu.py

このモジュールではファイルを uuencode 形式(任意のバイナリデータを ASCII 文字列に変換したもの)にエンコード、デコードする機能を提供します。引数としてファイルが仮定されている所では、ファイルのようなオブジェクトが利用できます。後方互換性のために、パス名を含む文字列も利用できるようにしていて、対応するファイルを開いて読み書きします。しかし、このインタフェースは利用しないでください。呼び出し側でファイルを開いて(Windows では `'rb'` か `'wb'` のモードで)利用する方法が推奨されます。

このコードは Lance Ellinghouse によって提供され、Jack Jansen によって更新されました。

`uu` モジュールでは以下の関数を定義しています:

`uu.``encode`(in_file, out_file, name=None, mode=None)

  in_file を out_file にエンコードします。エンコードされたファイルには、デフォルトでデコード時に利用されるname と mode を含んだヘッダがつきます。省略された場合には、in_file から取得された名前か `'-'` という文字と、`0o666` がそれぞれデフォルト値として与えられます。

`uu.``decode`(in_file, out_file=None, mode=None, quiet=False)

  uuencode 形式でエンコードされた in_file をデコードして varout_file に書き出します。もし out_file がパス名でかつファイルを作る必要があるときには、 mode がパーミッションの設定に使われます。 out_file と mode のデフォルト値は in_file のヘッダから取得されます。しかし、ヘッダで指定されたファイルが既に存在していた場合は、 `uu.Error` が送出されます。

  誤った実装の uuencoder による入力で、エラーから復旧できた場合、 `decode()` は標準エラー出力に警告を表示するかもしれません。 quiet を真にすることでこの警告を抑制することができます。

exception `uu.``Error`

  `Exception` のサブクラスで、 `uu.decode()` によって、さまざまな状況で送出される可能性があります。上で紹介された場合以外にも、ヘッダのフォーマットが間違っている場合や、入力ファイルが途中で区切れた場合にも送出されます。

参考

モジュール `binascii`

  ASCII からバイナリへ、バイナリから ASCII への変換をサポートするモジュール。