Encoding 什么是base32编码?

Encoding 什么是base32编码?,encoding,base32,Encoding,Base32,关于如何实现base32编码或base32编码规范,有足够的信息,但我不理解它是什么,为什么我们需要它,以及主要应用程序在哪里。有人能解释一下并给出一些关于使用的真实场景吗?谢谢 与任何其他“仅ASCII”编码一样,base32的主要目的是确保其编码的数据能够通过系统或协议进行传输,这些系统或协议对其将接受的字符范围有特殊限制,并且不会被修改 例如,b32编码的数据可以传递给接受单字节字符输入或UTF-8编码字符串输入的系统,或附加到URL,或添加到HTML内容,而不会被损坏或导致无效形式。使

关于如何实现base32编码或base32编码规范,有足够的信息,但我不理解它是什么,为什么我们需要它,以及主要应用程序在哪里。有人能解释一下并给出一些关于使用的真实场景吗?谢谢

与任何其他“仅ASCII”编码一样,base32的主要目的是确保其编码的数据能够通过系统或协议进行传输,这些系统或协议对其将接受的字符范围有特殊限制,并且不会被修改

例如,b32编码的数据可以传递给接受单字节字符输入或UTF-8编码字符串输入的系统,或附加到URL,或添加到HTML内容,而不会被损坏或导致无效形式。使用Base64(更常见)的原因与此完全相同

与b64相比,b32的主要优势在于它更易于阅读。这并不是什么优势,因为数据通常由计算机处理,因此b32相对b64(在空间方面效率更高)相对较少


更新:关于Base64,这里也有同样的问题:

Base32编码(和Base64)的动机是,您需要在存储或传输系统中编码不受限制的二进制文件,而存储或传输系统只允许特定形式的数据,例如纯文本。示例包括通过URL、XML或JSON数据传递数据,所有这些数据都是纯文本格式,不允许或支持任意二进制数据。

除了前面关于base32和base64的数字回答之外。对于相同的
.pdf
文件,编码结果为:

base64.base32encode(内容)
=190400个符号


base64.base64encode(content)
=158668个符号

理论上,base32可以不区分大小写。我同意@snapfractalpop。如果您正在做一些协议(如dns)可能发生变化的事情,那么base32更有用。如果您不担心这一点,那么base64将允许以少于base32的字符编码相同的内容。(见巴西淡水河谷公司的回答)