日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编码方式 / Base 64

發布時間:2024/10/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编码方式 / Base 64 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本信息

1、一種編碼方式。

2、使用場景:

(1)某些老的路由器不支持 UTF-8,當中文字符的二進制流到路由器中時,路由器可能按照自己支持的編碼方式,例如:ascii 碼來解讀,可能解析出不可見字符,例如:回車、tab。容易導致路由器異常從而傳輸失敗。

(2)避免在 http 中傳輸二進制數據,因為不同的設備對二進制解讀是不同的。同樣,一些老的軟件、網絡協議也有類似的問題。

(3)網頁請求中,若網頁中存在圖片,一般瀏覽器的操作是獲取到基本的網頁數據之后,再次進行請求獲取里面圖片的數據,這樣就導致了網絡請求頻繁。為了解決這個問題,可以將網頁中圖片的二進制數據轉成 Base 64 ,嵌入到 html 中,一次即可傳至瀏覽器。

總之,Base64 編碼可以將所有的二進制串轉成可見的字符串,并且都落在 ascii 碼表中可見字符中,幾乎所有的系統都是支持 ascii 碼的,故使用 Base 64 編碼可以通過幾乎所有的設備的傳輸。Base 64 相當于一個萬能語言,各個生物(設備)都能看懂。

二、編碼表

Base64 編碼是通過 64 個字符來表示二進制數據,64 個字符表示二進制數據只能表示 6 位,所以他可以通過 4 個 Base64 的字符來表示 3 個字節,如下是 Base64 的字符編碼表。

碼值字符碼值字符碼值字符碼值字符0163248117334921834503193551420365252137536223854723395582440569254157102642581127435912284460132945611430466215314763
AQgw
BRhx
CSiy
DTjz
EUk0
FVi1
GWm2
HXn3
IYo4
JZp5
Kaq6
Lbr7
Mcs8
Ndt9
Oeu+
Pfv/

?三、編碼過程

如要表示字符串“China”?,先將各個字符轉換為二進制形式,也就是 01000011 01101000 01101001 01101110 01100001,先將字符串分成 2 組,每組 3 個字節,如下所示:

01000011 01101000 01101001 01101110 01100001? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)

第一組藍色以?6 bit 為單位從左向右進行分割,每小組 6 bit,左側補充 2 個0,使之為一個字節,結果如下:

00010000? 00110110? 00100001? 00101001

經過計算,該組的十進制值為?16.54.33.41,依照索引可以得出對應的 Base64 字符,為 Q.2.h.p。

同理可以得到第二組的分割結果為:

00011011? 00100110? 00000100

由于第三個小組本身不足 6 bit,故在小組右側補充 2 個 0。經過計算,該組的十進制值為 27.38,依照索引可以得出對應的 Base64 字符,為 b.m.E。

由于上述(1)號串,第二組應該為 3 個字節,結果只有兩個,故需要在 base 64 編碼最后添加 1 個 =,缺幾個字節就加幾個 = ,由于每組最多 3 個字節,故頂過有 2 個 = 。

四、解碼過程

解碼過程就是把 4 個字節還原成 3 個字節再根據“=”數量不同最終還原出二進制

?

(SAW:Game Over!)

總結

以上是生活随笔為你收集整理的编码方式 / Base 64的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。