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=