标签:技术 cmd ges bit win window ima 系统默认 根据
编码:真实字符与二进制串的对应关系,真实字符→二进制串
s = u‘严‘ s print type(s), s
第一行定义了一个unicode对象(不是utf8)
u = s.encode(‘utf8‘) u print type(u),u
倘若这时我用s.encode(‘utf8‘),则将s使用utf-8编码并将编码结果保存为字节流
当调用print函数将内容格式化输出到终端时,会将unicode对象转换为终端的编码方式输出,如上面第一次print的结果是正常的,print utf8字节流时,终端按其默认gbk解码显示时就会出问题,这里恰巧‘\xe4\xb8‘为gbk下的“涓”
t
=
s.encode(
‘utf8‘
).decode(
‘utf8‘
)
t
fr = open(‘encode.py‘,‘r‘) fstr = fr.read()
只要记住fstr是字节流,其他的操作参看上面即可
注:以上操作均在cmd或powershell下完成,在python自带的解释器下会有问题,s=u‘你好‘,然后s,显示的虽然是unicode对象,但是编码却是gbk的而不是unicode
标签:技术 cmd ges bit win window ima 系统默认 根据
原文地址:http://www.cnblogs.com/lishanyang/p/7347657.html