# 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)

  Uuencode文件in_file导入文件out_file。uuencoded文件将具有指定名称和模式的标题作为解码文件的结果的默认值。默认默认值分别取自in_file或`'-'`和`0o666`。

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

  此调用会将uuencoded文件in_file解码，将结果放在文件out_file上。如果out_file是路径名，则如果必须创建文件，则使用模式设置权限位。默认值为out_file和模式取自uuencode标头。但是，如果头中指定的文件已经存在，则会引发`uu.Error`。

  如果输入由不正确的uuencoder生成，并且Python可以从该错误中恢复，则`decode()`可能会向标准错误打印警告。将quiet设置为true值会使此警告静音。

exception `uu.``Error`

  `Exception`的子类，这可以在各种情况下（如上所述）由`uu.decode()`提出，但也包括格式错误的标头或截断的输入文件。

也可以看看

模块`binascii`
  支持模块包含ASCII到二进制和二进制到ASCII转换。