91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Base64編碼的原理是什么

發布時間:2022-02-19 14:09:28 來源:億速云 閱讀:206 作者:iii 欄目:開發技術

這篇文章主要講解了“Base64編碼的原理是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Base64編碼的原理是什么”吧!

Base64是一種基于64個可打印字符來表示二進制數據的表示方法。由于 2的6次方是64,所以每6個比特為一個單元,對應某個可打印字符。3個字節有24個比特,對應于4個Base64單元,即3個字節可由4個可打印字符來表示。它可用來作為電子郵件的傳輸編碼。在Base64中的可打印字符包括字母A-Z、a-z、數字0-9,這樣共有62個字符,此外兩個可打印符號在不同的系統中而不同。在MIME格式中,剩余兩個字符是加號+和斜杠/,等號=用來作為后綴用途。UTF-7是一個修改版Base64,主要的區別在于不用等號=補余,因為該字符通常需要大量的轉譯。在IRCu等軟件所使用的P10 IRC服務器間協議中,將+/改成了[]。Base64編碼可用于在HTTP環境下傳遞,不在末尾填充=號,并將標準Base64中的+和/分別改成了-和_。

base64的原理

base64編碼后的數據比原始數據略長,比原來長1/3。為什么會長1/3?我們學習下原理,之后工作中base64就再也不會擋道了。轉換的時候,將3字節的數據,先后放入一個24位的緩沖區中,先來的字節占高位。數據不足3字節的話,于緩沖器中剩下的比特用0補足。每次取出6比特,按照其值選擇ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/中的字符作為編碼后的輸出,直到全部輸入數據轉換完成。若原數據長度不是3的倍數時且剩下1個輸入數據,則在編碼結果后加2個=;若剩下2個輸入數據,則在編碼結果后加1個=。換句話,本來3個字節,base64經過自己的編碼成為4個字節。比原理多了1/3。來,舉個例子

文本hel
ascii 編碼104101108
二進制011010000110010101101100
base64 6位01101000 0110010101101100
base64 10進制編號2662144
base64 結果aGVs

hel的base64編碼結果就是aGVs

base64碼表

Base64編碼的原理是什么
base64的應用

base64的應用特別廣泛,個人在開發中遇到最多的兩個方面,第一個是URL的base64,另一個是圖片base64。先說第一種,已經有urlencode了,為什么還需要base64 的URL。各有用途。urlencode是將-_. 之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,空格則編碼為加號(+)。如果一個URL里面有+ 有空格,是不是urlencode就搞不定,使用base64就會迎刃而解。帶來的代價就URL比原理長了1/3

圖片編碼的問題,經常跟客戶端開發的時候,客戶端使用二進制流上傳圖片的時候比較復雜,就可以使用base64將圖片的二進制編碼轉成base64,服務端接到數據之后再basedecode之后就是圖片的二進制流。特別方便,帶來的結果就是,傳輸的數據多了1/3。

遇到的問題

根據RFC 822規定,每76個字符,還需要加上一個回車換行。出問題的一般都是822規定,有的語言,對base64decode的時候,發現有換行符就decode失敗了,究其原因基本都市822規定,有很多換行,decode的時候解碼失敗,知道原因了就特別簡單,將換行符\r|\r\n 替換成 空,再base64decode就可以了。

感謝各位的閱讀,以上就是“Base64編碼的原理是什么”的內容了,經過本文的學習后,相信大家對Base64編碼的原理是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨玉县| 三门峡市| 合作市| 龙川县| 金华市| 南陵县| 武乡县| 嘉黎县| 余江县| 葫芦岛市| 西充县| 蕲春县| 大安市| 连山| 合肥市| 台山市| 吉隆县| 新竹县| 星子县| 凤庆县| 三原县| 天全县| 锦屏县| 边坝县| 嘉禾县| 浠水县| 准格尔旗| 朝阳市| 崇礼县| 双江| 饶平县| 临夏县| 茂名市| 柳林县| 华宁县| 贵溪市| 刚察县| 洞头县| 都匀市| 满洲里市| 嘉义县|