Base64 编码过程
Prerequisites
Base64就是一种基于 64 个(8 位的数据总共可表示 64 个字符,2 的 8 次方)可打印字符来表示二进制数据的方法。
把 3 个字节(总共 24 位的数据)(从左向右)分为 4 组,每组数据前面补 2 个 0,形成 8 位的数据(分组过程中最后的余下的不满 6 位的数据,后面补 0),3 字节的数据变成了 4 字节,在把每个字节用对照表中的字符替换,然后按 4 个字符(字节)分组,最后剩下的不足四个字符的其余空位加 =
用 python 直接打印 “赵” 字在 win 系统中的 base64 编码为 1dQ=
1 |
|
手动解析 “赵” 字在 win 系统中的 base64 编码
获取系统的活动代码页
cmd 命令行输入 chcp:
1 |
|
代码页 936 对应着字符集:gb2312
从 gb2312 字符集中找到 “赵” 对应的 16 进制编码
参考页面:https://www.toolhelper.cn/Encoding/GB2312
搜索到 “赵” 的编码为:D5D0+4=D5D4
16 进制转 2 进制,并按照 base64 编码规则编码
1101010111010100
从左往右数,6 位一组,不足 6 位的右面补 0
110101 011101 010000
分别给每组左边补两个 0
00110101 00011101 00010000
2 进制转为 10 进制
53 29 16
按照对照表:https://baike.baidu.com/item/Base64/8545775#1_2 找出对应的字符
1 d Q
后面补 =
结果为:1dQ=
Base64 编码过程
https://hutaoren.cn/2023/02/25/Base64 编码过程/