Base64

二进制 —> ASCII 纯文本字符串

用64个字符 A-Z,a-z,0-9,+,/。还有一个 = 用来表示末尾补过 0.
image.png
image.png
binary(bytes) 按照 6 bit 切分 -> 获取对应的 index 数,如 010010 按照上方表为 18 位,也就是 S
当然如果不够6则补0,最后加一个 = 表示这里补充过
image.png
然后再用 char 在 ASCII 中对应 index 数反推 binary,如这里的 S 对应 083
所以 Base64会带来比原本数据大 33~36% 的体积

HEX is just another representation of bytes. The following three are equal

  1. 10 (Decimal value 10)
  2. 0xA (Hex value 10)
  3. 00001010 (Binary value 10)

binary 二进制,ones and zeros(一堆01)
bit 位 (一个0或1)
byte 字节 (8个0或1)
1字节(Byte)=8位(bit)
bit 是计算机存储的基本单元,byte是一个有意义的存储内容,binary 则表示一串二进制数据。

常见的优化
缓存:Map进行 a -> b 对照关系的缓存
预先扩容:可变容器,如vector,String可以预先给出大于等于的空间,防止后续计算后再扩容