什么是Base64編碼榨乎?
base64編碼就是用64個(gè)字符來(lái)顯示二進(jìn)制編碼,要求每三個(gè)8bit的字節(jié)轉(zhuǎn)換為四個(gè)6bit的字節(jié),在開(kāi)發(fā)剛才中可以進(jìn)行字符編碼片拍、圖片轉(zhuǎn)換等操作。
編碼原理
首先取字符ASCII碼的十進(jìn)制表示妓肢,然后將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制(8bit)表示捌省。從左邊開(kāi)始每6bit組成一個(gè)新的單元,連續(xù)4個(gè)單元組成一組碉钠,不夠的用0補(bǔ)齊纲缓。然后將每個(gè)6bit轉(zhuǎn)化為一個(gè)十進(jìn)制,查找Base64編碼表喊废,找到對(duì)應(yīng)的字符祝高,組合在一起即完成編碼。值的注意的是污筷,在編碼過(guò)程中工闺,每補(bǔ)2個(gè)0則末尾要加一個(gè)=號(hào)。
例子
比如字符:Base
對(duì)應(yīng)的ASCII碼為:66 97 115 101
轉(zhuǎn)化為二進(jìn)制數(shù)為:01000010 01100001 01110011 01100101
每6bit組成一個(gè)新的單元:010000 100110 000101 110011 011001 010000
每個(gè)單元對(duì)應(yīng)的十進(jìn)制:16 38 5 51 25 16
十進(jìn)制對(duì)應(yīng)的Base64編碼為:Q m F z Z Q ==
因?yàn)槟┪蔡砑恿?個(gè)0,所以編碼末尾補(bǔ)2個(gè)==號(hào)