我听说有人在这里和那里谈论“base 64 encoding”。它是干什么用的?
当您想要通过网络传送一些二进制数据时,您通常不会只通过网络以原始格式流式传输位和字节来实现。为什么?因为某些媒体是为流式传输文本而制作的。你永远不知道——一些协议可能会将你的二进制数据解释为控制字符(如调制解调器),或者你的二进制数据可能会被搞砸,因为底层协议可能认为你输入了特殊的字符组合(如 FTP 如何转换行结局)。
因此,为了解决这个问题,人们将二进制数据编码为字符。Base64 是这些类型的编码之一。
为什么是64? 因为您通常可以依赖许多字符集中存在的相同 64 个字符,并且您可以有理由相信您的数据最终会完好无损地传输到线路的另一端。