# -*- 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
表示编解码器转换失败。在哪里?
答案 0 :(得分:2)
在Python 2.x中,print
会精确打印您提供的字节字符串。您最终看到的内容取决于您的终端如何解释字节字符串。显然,您的终端设置为gb2312
编解码器,它会显示您看到的结果。
答案 1 :(得分:0)
如果您确实希望在宣布时进行打印,请尝试print repr(s)
。