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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Base64编码算法

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

轉載:http://www.cnblogs.com/xqxacm/p/4886299.html

?

一、什么是編碼解碼

  編碼:利用特定的算法,對原始內容進行處理,生成運算后的內容,形成另一種數據的表現形式,可以根據算法,再還原回來,這種操作稱之為編碼。

  解碼:利用編碼使用的算法的逆運算,對經過編碼的數據進行處理,還原出原始數據,這種操作稱之為解碼。

?

二、什么是Base64編碼算法

  可以將任意的字節數組數據,通過算法,生成只有(大小寫英文、數字、+、/)(一共64個字符)內容表示的字符串數據。

  即將任意的內容轉換為可見的字符串形式。

?

三、Base64算法的由來

  以前發送郵件只支持可見字符的傳送。由此,需要有一個方法將不可見的字符轉換為可見的字符,便產生了Base64編碼算法

?

四、Base64算法的特點

1、將數據按照?3個字節一組的形式進行處理,每三個字節在編碼之后被轉換為4個字節。

  即:如果一個數據有6個字節,可編碼后將包含6/3*4=8個字節

2、當數據的長度無法滿足3的倍數的情況下,最后的數據需要進行填充操作,即補“=” ,這里“=”是填充字符,不要理解為第65個字符

?

eg: 三個字節 ,轉換成 4個字節 的過程:

  

?

可以看出,將原始數據的 每三個字節分為一組,按位進行分割為 每6位一個字節的形式,進行轉換,形成新的4個字節。這四個字節才通過Base64編碼表進行映射,形成最后實際的Base64編碼結果。

如果原始數據最后無法湊成3個字節,則補填充,以“=”作為替換,代表沒有數據

?

五、

Base64編碼索引表

?

六、Base64使用場景

1、服務器給客戶端在JSON中傳遞二進制數據

2、客戶端給服務器傳遞參數時,通過Base64傳遞二進制內容

?

七、注意點

1、Base64是編碼算法,不是加密算法,只是用來編碼字節數組,形成字符串的,并提供了解碼功能

2、Base64.encodeToString(byte[] data,int flag);

第二個參數設置NO_WRAP 即代表生成的字符串是否換行

Base64.encode(String str,int flag)同上

轉載于:https://www.cnblogs.com/songjy2116/p/7750234.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

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

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