python解碼base64
① python中讀取二進制圖片(例如 a.jpg)有關解碼編碼的問題
binascii.hexlify估計能滿足你的要求。不過不建議把二進制數據用編解碼來處理,因為編解碼只是文本採用了不同的編碼方案。而圖像這些二進制有自己的含義,文本編解碼方案不應該用在這些二進制文件上。s就是你的數據,你也別想看懂,除非你知道jpg格式。
② base64編解碼與hash加密
利用base64可以將二進制數據編碼為64個字元組成的字元串,64個字元為a-z,A-Z,0-9,+,/。base64編碼是將三個位元組的二進制數據編碼為四個位元組的字元數據,如果位元組數不為3的倍數base64會將 \x00 補在末尾,所以會常在base64字元串的末尾見到一個或者兩個的 = 號。
base64編碼
base64解碼
小技巧:遇到base64編碼的二進制文件可以直接解碼用io位元組流接收再用其他模塊載入,無需在本地保存文件再使用其他模塊載入。
哈希加密是對字元串進行加密,其加密後的散列值不可逆,即hash加密是單向加密不可解。python內置的hashlib庫提供了md5, SHA1, SHA224, SHA256, SHA384, SHA512 加密演算法的支持
③ Python怎麼能簡單實現Base64編碼和解碼
Base64編碼是一種「防君子不防小人」的編碼方式。廣泛應用於MIME協議,作為電子郵件的傳輸編碼,生成的編碼可逆,後一兩位可能有「=」,生成的編碼都是ascii字元。
優點:速度快,ascii字元,肉眼不可理解
缺點:編碼比較長,非常容易被破解,僅適用於加密非關鍵信息的場合
Python Base64編碼和解碼示例:
>>> import base64
>>> s = '我是字元串'
>>> a = base64.b64encode(s)
>>> print a
ztLKx9fWt/u0rg==
>>> print base64.b64decode(a)
我是字元串
④ base64的圖片編碼,python如何轉存為一張圖
import base64
使用b64decode解碼
⑤ Python和sqlite問題,怎麼解決
python編碼如果把中文數據存儲至sqlite資料庫某一欄位中,再通過查詢語句取出並進行相關的字元串操作時,經常會出現錯誤提示,類似於UnicodeDecodeError,提示某一類型編碼不能轉換。
出現這個問題的原因是因為python默認使用unicode處理sqlite3的TEXT類型(varchar類型也是如此,因為在sqlite中varchar其實就是TEXT)。python把中文存入資料庫時使用了類似於GBK這樣的編碼,取出時會嘗試把TEXT類型數據轉換成unicode,從而出現錯誤。
由此導致的另一個不容易發現的錯誤是存儲在資料庫中的中文進行了base64之類的編碼,在python中取出時不會存在錯誤,但是再進行base64解碼,並與sqlite3中取出的其它text欄位進行字元串拼接等處理,就出現編碼轉換錯誤,很難發現問題原因,可以把其它text欄位進行如'aaa'.encode('gbk')編碼成GBK碼解決,但不提倡這種方法,更好方法如下:
解決方法是python連接sqlite資料庫後進行如下設置:
conn = sqlite3.connection(「……」)
conn.text_factory = str
另外為了python代碼中硬編碼的中文字元串不出現問題,除了在源碼開始添加
# -*- coding:utf-8 -*-
還要設置python源碼的編碼為utf-8
import sys
reload(sys)
sys.setdefaultencode('utf8')
⑥ python 收取郵件都是亂碼。
一般郵件在傳輸的時候都會被編碼,圖中的是base64編碼的特徵,這類編碼是可逆的,只需要進行base64解碼即可,python有個base64模塊,可以用來編碼和解碼。
⑦ 請問…python編程中,怎麼解密base64編碼和zlib編碼
import base64,zlib
』『』解密base64編碼『』『
a=base64.b64decode('解碼內容')
』『』解密zlib編碼『』『
b=zlib.decompress('解碼內容『)