#7 uu 编码(Unix-to-Unix Encode)
b2a 2020-06-21uu 编码是加州大学伯克利分校 1980 年为在邮件中传输二进制文件而设计的一种 B2T(Binary-To-Text)/ B2A(Binary-To-Ascii)编码。
九十年代,MIME 被设计出来并成为国际标准之后,uu 编码就正式退出了历史舞台。
uu 代表 Unix-to-Unix Copy,表示将一个文件从一个 Unix 系统传输到另一个 Unix 系统。
coding in a complicated world
uu 编码是加州大学伯克利分校 1980 年为在邮件中传输二进制文件而设计的一种 B2T(Binary-To-Text)/ B2A(Binary-To-Ascii)编码。
九十年代,MIME 被设计出来并成为国际标准之后,uu 编码就正式退出了历史舞台。
uu 代表 Unix-to-Unix Copy,表示将一个文件从一个 Unix 系统传输到另一个 Unix 系统。
sudo apt install sharutils
提供四个命令:
uuencode 是一种二进制转文本编码,类似 Base64
没想到还有些包依赖这个上世纪遗留下来的编码(包括 gcc):
apt rdepends sharutils
sharutils
Reverse Depends:
建议: file-roller
依赖: wide-dhcpv6-client
推荐: speechd-el
建议: patool
推荐: mgp
建议: lxqt-archiver
推荐: ldapscripts
依赖: kpatch-build
依赖: knews
建议: git-dpm
依赖: gcc-9-source
依赖: gcc-12-source
依赖: gcc-11-source
依赖: gcc-10-source
建议: engrampa
依赖: biabam
推荐: aespipe
import uu
uu.encode('/etc/passwd', '-')
注意:3.11 开始,python Deprecated 了这个 uu 模块, 可以改用 binascii.b2a_uu
代替。
import binascii
s = b''
with open('/etc/passwd', 'rb') as f:
buf = f.read(45)
while len(buf) > 0:
s += binascii.b2a_uu(buf, backtick=False)
buf = f.read(45)
print(s)
按二进制位来算:
不按二进制位来算:
0OIi
4 个字符