python str方法 等于执行encode utf-8 无论是在ipython还是原生Python

对于unciode 类型来说,对他执行一次 str() 相当于执行unciode.encode("utf-8")


无论是在linux还是在windows

如图所示

python str方法 等于执行encode utf-8 无论是在ipython还是原生Python_第1张图片

代码如下


>>> import sys
>>> reload(sys)

>>> sys.setdefaultencoding("utf-8")
>>>
>>> a = u"中"
>>>
>>> a
u'\u4e2d'
>>>
>>> str(a)
'\xe4\xb8\xad'
>>>
>>> a.encode("utf-8")
'\xe4\xb8\xad'
>>>
>>> a.encode("gbk")
'\xd6\xd0'
>>>
>>>



所以以后在对于 unicode 需要编码utf-8的情况下,就可以简写成str


(上面这样是都可以输入,但是如果print, 要对应上平台编码才能正常显示)










你可能感兴趣的:(python str方法 等于执行encode utf-8 无论是在ipython还是原生Python)