1、基本了解
base64是一种编码格式,和UTF-8、ASCII类似,ACSII使用的是256个字符,8个比特位存储信息,base64使用64个字符,6个比特位。64个字符分别是A-Z、a-z、0-9、+、/,按0-63顺序排列。
2、ASCII字符转成base64编码
ascii编码使用8个比特位,base64编码使用6个比特位,base64所用字符是ascii中的一部分,一次以3个ascii字符为一组,转成4个base64字符,因为6和8的最小公倍数是24,24个比特位正好是3个ascii码。
"ABC"转base64编码的案例:
使用java验证"ABC"的base64编码,输出结果就是QUJD:
import sun.misc.BASE64Encoder;
public class App {
public static void main( String[] args ) throws Exception {
String man = "ABC";
BASE64Encoder encoder = new BASE64Encoder();
System.out.println("ABC:" + encoder.encode(man.getBytes()));
}
}
扩展:
javascript提供了两个函数 atob、btoa,atob用于:ascii转binary;btoa:binary转ascii。
base64对中文支持不太好。
除了base64,还有base16、base32。。。