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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Base64 编码整理

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Base64 编码整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面整理了websocket的知識,其中有一個base64編碼的小知識,今天就對這個小知識進行一下整理。

1、Base64

Base64是一種基于64個可打印字符來表示二進制數據的表示方法。因為只有64種字符,使用6位就可表示過來,所以base64是每6位一個單元,對應某個可打印字符。

哪些是可打印字符?其實就是 A-Z,a-z,0-9,+,/ 這64個字符。如下圖所示:

Base64可以將任何數據都進行編碼,因為計算機本身就是二進制存儲的。

2、編碼原理

下面舉幾個例子,邊看例子邊講解:

對字符串 Man進行編碼,原有數據占三個字節,每個字節8位。轉換過程如下圖所示:

編碼過程是先進行6位分組,但是計算機是按照字節存儲的,最少8位,就在最高的 2 位進行補 0,所以編碼后的數據比原始數據多 1/3 的空間。最終,字符串 [ Man ] 經過Base64編碼變成了字符串 [ TWFu ],由之前的 3 個字節變成了 4 個字節。

如果原有的字符串不是6的倍數呢?

這個也是通過補位進行實現,如果不足6的倍數,剩下的空位補 0。如果沒有匹配的字符,則使用[ = ] 字符填充。如下圖所示:

這樣,原有的字符串 [ Ma ] 經過Base64編碼變成了字符串 [ TWE= ]

3、解碼

通過上面的編碼的知識,解碼就很簡單了。具體可分為三步

  • 把原有數據每個字節的最后 2 位刪除
  • 把剩余位進行拼接
  • 按照8位一個字節進行還原
  • 4、使用場景

    我看資料Base64有很多的使用場景,但是我覺著最主要的還是避免一些 特殊字符 和 不可見字符 引起的錯誤

    需要注意的是Base64并不是一個加密算法,它只是一個編碼算法。我們上面也介紹過了,它的編碼和解碼都很容易。

    感謝大家,我是假裝很努力的YoungYangD(小羊)

    參考資料:
    https://en.wikipedia.org/wiki/Base64

    總結

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

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