# -*- coding: utf8 -*-
s = '\xd6\xd0\xce\xc4'
print s代码打印的摘录
中文这是预料不到的。从序数可以看出,s不是一些ascii字符,因为序数是>128个。但这就是为什么print会自动将字符串解码为utf8并打印出来(根据一开始的编码声明)吗?
更新:
我声明为gbk编码,但将文件编解码器保留为utf8。提出了一个例外:
SyntaxError: 'gbk' codec can't decode bytes in position 8-9: illegal multibyte s
equence它表示编解码器转换失败。哪里?
发布于 2014-02-16 13:24:52
在Python2.x中,print准确地打印给它的字节字符串。您最终看到的情况取决于终端如何解释字节字符串。显然,您的终端设置为gb2312编解码器,这将给出您所看到的结果。
发布于 2014-02-16 13:26:22
如果您真的希望它按您声明的方式打印,请尝试print repr(s)。
https://stackoverflow.com/questions/21811636
复制相似问题