008-libb64 你有多理解base64?-C++开源库108杰
- 正确认识二进制数据和文本数据的关系;
- 深刻理解 base64 编码核心等式:256×256×256 = 64×64×64×64
经常听到——以至 AI 也会这么回答的:base64 编码用于将二进制数据,转换为文本数据。但是,众所周知,在数字电子计算机中,所有数据都是二进制数据。因此,文本数据也是二进制数据。
所以,什么是“文本数据”?
同样,很容易查到,base64 编码会比原数据至少大三分之一,因为它使用四个字节去编码三个字节的源数据。又为什么需要四个字节才能表达人家的三个字节?因为 base64 正如其名,它在一个字节所能表达的 256 种可能的字符中,只允许用到 64 可能。于是,就有了 base64 编码的“核心等式”:2563 = 643 。
64个字符:
1) 大小写字母, 52个
2) 数字-10个, 3个
3) 符号 + 和 / 2个
013-libB64-理解 base64 编码