Python實(shí)現(xiàn)base64編碼
Base64是一種用64個(gè)字符來(lái)表示任意二進(jìn)制數(shù)據(jù)的方法。
用記事本打開(kāi)exe
、jpg
、pdf
這些文件時(shí),我們都會(huì)看到一大堆亂碼,因?yàn)槎M(jìn)制文件包含很多無(wú)法顯示和打印的字符,所以,如果要讓記事本這樣的文本處理軟件能處理二進(jìn)制數(shù)據(jù),就需要一個(gè)二進(jìn)制到字符串的轉(zhuǎn)換方法。Base64是一種最常見(jiàn)的二進(jìn)制編碼方法。
Base64編碼會(huì)把3字節(jié)的二進(jìn)制數(shù)據(jù)編碼為4字節(jié)的文本數(shù)據(jù),長(zhǎng)度增加33%,好處是編碼后的文本數(shù)據(jù)可以在郵件正文、網(wǎng)頁(yè)等直接顯示。
Python內(nèi)置的base64
可以直接進(jìn)行base64的編解碼:
import base64 base64.b64encode(b'binary\x00string') # b'YmluYXJ5AHN0cmluZw==' base64.b64decode(b'YmluYXJ5AHN0cmluZw==') # b'binary\x00string'
由于標(biāo)準(zhǔn)的Base64編碼后可能出現(xiàn)字符+
和/
,在URL中就不能直接作為參數(shù),所以又有一種"url safe"的base64編碼,其實(shí)就是把字符+
和/
分別變成-
和_
:
base64.b64encode(b'i\xb7\x1d\xfb\xef\xff') # b'abcd++//' base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff') # b'abcd--__' base64.urlsafe_b64decode('abcd--__') # b'i\xb7\x1d\xfb\xef\xff'
Base64是一種通過(guò)查表的編碼方法,不能用于加密,即使使用自定義的編碼表也不行。
Base64適用于小段內(nèi)容的編碼,比如數(shù)字證書(shū)簽名、Cookie的內(nèi)容等。
總結(jié):Base64是一種任意二進(jìn)制到文本字符串的編碼方法,常用于在URL、Cookie、網(wǎng)頁(yè)中傳輸少量二進(jìn)制數(shù)。
PS:這里再為大家提供幾款比較實(shí)用的base64在線編碼解碼工具供大家使用:
BASE64編碼解碼工具:http://tools.jb51.net/transcoding/base64
在線圖片轉(zhuǎn)換BASE64工具:http://tools.jb51.net/transcoding/img2base64
Base64在線編碼解碼 UTF-8版:http://tools.jb51.net/tools/base64_decode-utf8.php
Base64在線編碼解碼 gb2312版:http://tools.jb51.net/tools/base64_decode-gb2312.php
到此這篇關(guān)于Python實(shí)現(xiàn)base64編碼的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python web框架fastapi中間件的使用及CORS跨域問(wèn)題
fastapi "中間件"是一個(gè)函數(shù),它在每個(gè)請(qǐng)求被特定的路徑操作處理之前,以及在每個(gè)響應(yīng)之后工作,它接收你的應(yīng)用程序的每一個(gè)請(qǐng)求,下面通過(guò)本文給大家介紹Python web框架fastapi中間件的使用及CORS跨域問(wèn)題,感興趣的朋友一起看看吧2024-03-03Python只用40行代碼編寫(xiě)的計(jì)算器實(shí)例
這篇文章主要介紹了Python只用40行代碼編寫(xiě)的計(jì)算器,結(jié)合完整實(shí)例形式分析了Python計(jì)算器的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05用Python進(jìn)行柵格數(shù)據(jù)的分區(qū)統(tǒng)計(jì)和批量提取
該教程其實(shí)源于web,我看到之后覺(jué)得很實(shí)用,于是自己又重復(fù)做了一遍,寫(xiě)了詳細(xì)的注釋分享給大家,希望對(duì)大家的研究有幫助,本文講述了柵格的分區(qū)統(tǒng)計(jì),批量提取,深化理解遍歷循環(huán)等內(nèi)容2021-05-05pytorch中model.named_parameters()與model.parameters()解讀
這篇文章主要介紹了pytorch中model.named_parameters()與model.parameters()使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11對(duì)Python3中dict.keys()轉(zhuǎn)換成list類型的方法詳解
今天小編就為大家分享一篇對(duì)Python3中dict.keys()轉(zhuǎn)換成list類型的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02