- 转换规则:进行Base64转换的时候,将3个byte(3*8bit = 24bit)的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲器中剩下的bit用0补足。然后,每次取出6个bit(24/6 = 4),因为2^6=64,按照其值选择
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
这64个字符中对应的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。当原数据长度不是3byte的整数倍时, 如果最后剩下1个输入数据,在编码结果后加2个“=
”;如果最后剩下2个输入数据,编码结果后加1个“=
”;如果没有剩下任何数据,就什么都不要加。
- Base64编码后的数据比原始数据略长,长度约为原来的4/3。
- Base64编码对同一字符在不同的编码下结果可能不同。
- 因为编码后的
+/=
字符,标准的Base64并不适合直接放在URL里传输,有一些Base64的变种,它们将+/
等符号转换为其他符号(如_-
),这样就能安全的在URL中传输(Url Safe)了。
posted @
2022-03-15 19:26
牧之丨
阅读(
832)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!