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

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

バージョン 3.11 で非推奨、バージョン 3.13 で削除予定: The `uu` module is deprecated (see PEP 594 for details). `base64` is a modern alternative.

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

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

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

uu.encode(in_file, out_file, name=None, mode=None, *, backtick=False)

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

  バージョン 3.7 で変更: backtick パラメータを追加しました.

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 への変換をサポートするモジュール。