Base64是基於64個字符進行轉換的,由於2的6次方正好爲64,因此6bit就能夠表示出64個字符,所以在轉換的過程當中以6bit表示一個字符。javascript
原理:css
3x8=4x6,核心是這個公式html
ASCII表java
Base64編碼表編程
案例工具
w e n ASCII: 119 101 110 8bit: 01110111 01100101 01101110 6bit: 011101 110110 010101 101110 十進制: 29 54 21 46 Base64: d 2 V u 因此 "wen" ---- > d2Vu
j i a n g ASCII: 106 105 97 110 103 8bit: 01101010 01101001 01100001 01101110 01100111 6bit: 011010 100110 100101 100001 011011 100110 011100 異常 十進制: 26 38 37 33 27 38 28 Base64: a m l h b m c = 因此 "jiang" ---- > amlhbmc=
注意:Base64是四個字符爲一組,不夠的補=網站
工具網站:
進制轉換
Base64轉換工具
圖片轉base64編碼
漢字轉Base64spa
這裏須要注意,漢字自己能夠有多種編碼,好比gb23十二、utf-八、gbk
等等,每一種編碼的Base6
4對應值都不同。下面的例子以utf-8
爲例code
嚴
的utf-8
爲E4B8A5
,寫成二進制就是三字節的11100100 10111000 10100101,而後按照上面的規則轉換獲得Base64
編碼爲:5Lil
因此,漢字嚴(utf-8編碼)的Base64值就是5Lil
從上面英語字母或者漢字轉換爲Base64的來看,就是先轉換爲對應的編碼的二進制,而後在進行轉換
補充內容
對於一張圖片,咱們進程看到這樣的表達形式:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAA....
這是這是Data URI scheme
目的是將一些小數據,直接嵌入到網頁中,而不用在引用外部
在上面data
表示取得數據的協定名稱,image/png
是數據類型名稱,base64
是數據的編碼方法,逗號後面就是這個image/png文件base64編碼後的數據
Data URI scheme支持的類型有:
掃描關注,查看更多文章,提升編程能力