Base64實際上就是一種轉碼方式,將二進制數據轉換為用64個字符表示的數據
主要用來對URL中特殊字符進行轉碼、對圖片的src進行轉碼、對語言文字進行轉碼。
Base64的原理?
世界上單個字符最長字節是3個字節,也就是24位,Base64將24位分為每段有6位的4段,再為每段前面添加兩個0。再將添加后的4個數據轉為十進制,根據Base64編碼表查詢出對應的字符。
下面以‘石阿深’為例:
第一步:查詢中文字符在當前操作系統的對應編碼表---GB2312
第二步:分別查詢‘石阿深’三個字符對應的16進制,再轉換為二進制
石 ---- 1010001100010000111
阿 ---- 1000101001000011000
深 ---- 1010001011010010100
第三步:將以上得到的二進制數據轉換為6位為一段的數據,最后一段不足6位時補0
101000 110001 000011 110001 010010 000110 001010 001011 010010 100000
第四步:將以上所有6位數據前面添加兩個0,再轉換為10進制
40 49 3 49 18 6 10 11 18 32
第五步:對照Base64編碼表,查詢對應字符,在字符結束后添加‘=’表示結束
oxDxSGKLSg
以上,‘oxDxSGKLSg=’ 就是‘石阿深’對應的Base64編碼