关于如何实现 base32 编码或 base32 编码规范有足够的信息,但我不明白它是什么,我们为什么需要它以及主要应用程序在哪里。有人可以解释并给出真实的使用场景吗?谢谢。
3 回答
与任何其他“仅 ASCII”编码一样,base32 的主要目的是确保它编码的数据能够通过系统或协议在传输时幸存下来,这些系统或协议对它们接受的字符范围有特殊限制,并且未修改出现。
例如,可以将 b32 编码的数据传递给接受单字节字符输入、UTF-8 编码字符串输入、附加到 URL 或添加到 HTML 内容的系统,而不会被破坏或导致无效的表单. 出于完全相同的原因使用 Base64(更常见)。
b32 相对于 b64 的主要优势在于它更易于人类阅读。这并没有太大的优势,因为数据通常由计算机处理,因此 b32 与 b64 相对稀有(在空间方面更有效)。
更新:这里有关于 Base64 的相同问题:What is base 64 encoding used for?
Base32 编码(和 Base64)编码的动机是您需要在存储或传输系统中编码不受限制的二进制文件,该系统只允许某种形式的数据,例如纯文本。示例包括通过 URL、XML 或 JSON 数据传递数据,所有这些都是纯文本格式,不允许或支持任意二进制数据。
除了先前对 base32 与 base64 的数字答案之外。对于相同.pdf
的文件编码结果是:
base64.base32encode(content)
= 190400 个符号
base64.base64encode(content)
= 158668 个符号