浅谈 base64、128 编码草稿
# base64
6 bit(2^6=64) 为一组进行分割
01110011 00010110 =》 011100 110001 0110|00 =
解码的时候按 8 bit 来解,剩下不足 8bit 的必然是自动补的 0
# 疑问:
- 为什么要加 pad ,保持 4 的倍数字符?
rfc 上特意这么定的。另外计算方便,保证可用直接按 4 个字符进行分割
# 拓展阅读
https://zhuanlan.zhihu.com/p/21250813
# base128 Varints
Protocol Buffers 所用的编码方式
使用一个或多个字节对「整数」进行序列化
低7位存数据,最高位(msb)表示是否为最后一个整数
300 (0b100101100) =》 1|0101100 00000010
通过某些规则去支持其他类型
wip
采用 ZigZag 编码来将 sint32 和 sint64 转换为 wire type 0
https://mp.weixin.qq.com/s/enDUynhZ1Pnzg_4xEjR21A
编辑 (opens new window)
上次更新: 2023/08/23, 09:32:05