天天看點

python的base64

​​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=