无需登录 数据私有 本地保存

UUEncode编码解码工具 - 经典Unix文本转送格式

20
0
0
0

UUEncode 编码 / 解码工具

经典 Unix-to-Unix 文本转送格式 · 二进制与ASCII互转

Unix 经典 纯文本安全传输
输入内容 / 粘贴文本
0 字符
输出结果
0 字符
常见问题与知识点
什么是 UUEncode?

UUEncode(Unix-to-Unix Encoding)是一种将二进制数据转换为纯 ASCII 文本的编码方式,诞生于 Unix 系统早期。 它将每 3 个字节(24 位)拆分为 4 个 6 位组,每组加 32 映射到可打印字符(ASCII 32-95), 从而让二进制文件能安全地通过纯文本邮件、Usenet 新闻组等渠道传输。编码后的文件以 begin 行开头,end 行结尾。

UUEncode 和 Base64 有什么区别?

字符集不同:UUEncode 使用 ASCII 32-95(空格到下划线),Base64 使用 A-Z、a-z、0-9、+、/。
格式不同:UUEncode 有 begin/end 包裹和行首长度字节;Base64 更简洁,仅纯编码数据。
用途:UUEncode 主要用于老式 Unix 系统和邮件;Base64 是 MIME 标准,广泛用于现代网络(HTTP、电子邮件附件、Data URI 等)。
效率:两者都将数据膨胀约 33%-37%,但 Base64 更紧凑且不含空格。

如何识别 UUEncode 编码的数据?

典型的 UUEncode 数据以 begin <mode> <filename> 行开头(如 begin 644 myfile.txt), 数据行首字符通常为大写字母 M(表示该行有 45 个输入字节), 最后以反引号 ` 或空格开头的空行结束,紧跟一行 end。如果你看到大量以 M 开头的行,且文件头尾有 begin/end 标记,那就是 UUEncode。

UUEncode 还用在哪些场景?

虽然现代网络协议大多采用 Base64,UUEncode 仍在以下场景出现:
• 老式 Unix/Linux 系统的邮件附件
• 某些嵌入式系统的固件传输
• 复古计算(Retro Computing)和存档文件
• 部分 FTP 和 BBS 系统的文件传输
• 历史数据恢复和格式转换

UUEncode 的行首字符是什么意思?

每一行 UUEncode 数据的第一个字符是该行原始输入字节数 + 32 对应的 ASCII 字符。 标准行有 45 个输入字节,45+32=77,对应字符 M。 最后一行如果不足 45 字节,行首字符会相应变小。当行首字符为空格(0+32=32)时,表示数据结束。 解码时通过行首字符减 32 即可知道该行有多少有效字节。

这个工具如何处理文件上传?

编码模式:上传任意文件后,工具会将文件内容读取为二进制数据,生成标准 UUEncode 格式文本, 包含 begin 行(使用您指定的文件名和权限)、编码数据行和 end 结尾。
解码模式:上传 .uue 或文本文件后,工具自动解析 UUEncode 格式, 提取原始文件名和权限信息,并将解码后的数据提供下载。如果解码结果是纯文本,会直接显示在输出区。

为什么我的解码结果看起来是乱码?

这说明原始数据是二进制文件(如图片、压缩包、可执行文件等),而非纯文本。 解码后的二进制数据无法直接显示为可读文本。此时请使用下载按钮将解码结果保存为文件, 然后使用相应的应用程序打开。输出区会显示数据的字节大小和十六进制预览。

UUEncode 编码的数据量会增加多少?

编码开销约为 33%-37%。具体来说:每 3 个字节编码为 4 个字符(+33%), 加上每 45 字节一行的行首字符和换行符(约 +4%),以及 begin/end 标记行。 例如,1MB 的文件编码后约为 1.4MB。相比之下,Base64 的膨胀率类似但略低(约 33%-35%),因为它没有额外的行首字节和 begin/end 标记。