深度解析Base64编码原理
转发:https://baijiahao.baidu.com/s?id=1659399600600345930&wfr=spider&for=pc
(原本有多处错误,经过推算本文真实有效)
编码流程
- 获取每个字符的ASCII码,转换成二进制
- 生成的二进制 重新编码 每六个一组,但是所有的字母生成的二进制,必须是6的公倍数,所以需要在补 0
- 每组二进制在转ASCII码,可获得编码后文本(末位若是补位取得,则一律使用“=”代替)
编码对照表
![](https://img.haomeiwen.com/i13918604/b167b75366b83a28.jpeg)
栗子
编码
World 的ASCII转二进制
字符 | W | o | r | l | d |
---|---|---|---|---|---|
ASCII二进制 | 01010111 | 01101111 | 01110010 | 01101100 | 01100100 |
0101011101101111011100100110110001100100
补零
01010111 | 01101111 | 01110010 | 01101100 | 01100100 | 00000000 |
---|
010101110110111101110010011011000110010000000000
转码
ASCII二进制 | 010101 | 110110 | 111101 | 110010 | 011011 | 000110 | 010000 | 000000 |
---|---|---|---|---|---|---|---|---|
十进制 | 21 | 54 | 61 | 50 | 27 | 6 | 16 | 0 |
编码后 | V | 2 | 9 | y | b | G | Q | = |
测试结果为:
V29ybGQ=
网友评论