Python打印结果为'7\xe6\x9c\x8810\xe6\x97\xa5',但我想要'7月10日'

use*_*160 5 python printing unicode

我获取了一个包含日语的网页,但是当我将它打印到控制台时,我没有得到输出7?10?.相反,它打印:7\xe6\x9c\x8810\xe6\x97\xa5

我该怎么办?

Ioa*_*ucu 7

你得到的输出是正确的.这是日语字符串的UTF-8表示.问题是控制台本身不理解UTF-8.如果您将该字符串写入文件并使用能够理解UTF-8的编辑器打开它,您将看到正如您所期望的内容.您还可以尝试将控制台的编码更改为UTF-8.

编辑:你也可以尝试一下:

print '7\xe6\x9c\x8810\xe6\x97\xa5'.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

但这是否有效取决于控制台编码是否支持日文字符.例如,如果控制台的编码是"ISO Latin-1",那么它将不起作用......

我建议你阅读:http://www.joelonsoftware.com/articles/Unicode.html

  • 不可以.配置为使用某些8位编码的控制台不会将7位ASCII以上的八位字节转换为十六进制数字. (2认同)