python3.4.1下base64編碼問題
- 作者:廖師兄
- 時間:2014-09-05
- 分類:python
初學py,學的是3.x版本,今天遇到base64編碼問題
import base64
encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))
print(encodestr)
這是3.x的用法,因為3.x中字元都為unicode編碼,而b64encode函數的參數為byte類型,是以必須先轉碼。
列印結果為
b'YWJjcjM0cjM0NHI='
結果和我們預想的有點差別,我們隻想要獲得YWJjcjM0cjM0NHI=,而字元串被b''包圍了。
這時肯定有人說了,用正則取出來就好了。。。别急。。。
b 表示 byte的意思,我們隻要再将byte轉換回去就好了。。。源碼如下
import base64
encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))
print(str(encodestr,'utf-8'))
列印結果為
YWJjcjM0cjM0NHI=