Base64与Base64编码

174 阅读2分钟

Base64是什么?

Base64是一种二进制到文本的编码方法,用于将二进制数据以文本形式表示,以便传输或存储。

Base64基于64个可打印字符集来表示二进制数据。2的6次方为64,6个比特为一个单元,对应某个可打印字符,3个字节对应4个Base64单元。

在Base64中可打印字符包括字母A-Z、a-z、数字0-9以及‘=’和‘/’

字符索引表

Dingtalk_20240903155918.jpg

例如字符“ab”对应两个字节,共16位,按6位一组可分为3组,每组高位补00, 第三组不足位数补00。得到转换后的字符串“YWI”,不足4字节,末尾补“=”号,得到最终编码“YWI=”

原始字符ab
ascii编码9798
二进制位0110000101100010
编码转换000110000001011000001000
base64索引值24228
base64字符YWI=

base64将三个字节编码成四个字符,base64字符长度是原始字符的4/3倍。

=填充是为了迎合RFC标准要求

用途

Base64编码在多种应用中使用,包括:

  • 电子邮件传输:Base64用于对电子邮件中的二进制附件(例如图像或文件)进行编码,确保数据在传输过程中不被损坏。
  • 网络传输:Base64用于在HTTP和HTTPS请求中对二进制数据进行编码,以便在不同系统或应用程序之间传输。
  • 数据存储:Base64用于将二进制数据存储在文本环境中,例如数据库或XML文档。
  • 图像嵌入:Base64可以将图像数据嵌入HTML或CSS文件中,以便直接在页面上显示。

优点

  • Base64编码是跨平台的,可以由不同的系统和应用程序理解。
  • 它将二进制数据转换为易于传输和存储的文本格式。
  • Base64编码解码算法简单,易于实现。

缺点

  • Base64编码会增加数据的长度大约33%。
  • 它不是加密方法,因此编码后的数据仍然可以被破译