【问题标题】:Decode error - output not utf-8解码错误 - 输出不是 utf-8
【发布时间】:2015-09-03 06:07:06
【问题描述】:

如果我尝试让 Python 打印字符串 "«»••",它会返回

[Decode error - output not utf-8]

我该如何解决这个问题?如果有帮助,我正在使用 Sublime Text 2。

编辑:显然,

print("«»••")

有效,但无效

print("Hello world!   «»••")

请注意,我在文件顶部使用了这个:

# -*- coding: utf-8 -*-

编辑 x2:

repr("Hello world!   «»••")

返回

'Hello world!   \xc2\xab\xc2\xbb\xe2\x80\xa2\xe2\x80\xa2'

【问题讨论】:

  • 请分享您的确切代码,而不仅仅是您尝试生成的输出。
  • edit你的问题添加这样的细节。 SublimeText2 使用 Python 2,因此您尝试打印任意字节,我们不知道您从哪里复制这些字符或它们使用的编码。
  • 对不起。我已经用这些信息更新了原始问题。
  • 这两个print语句没有区别;两者都将原始字节串写入sys.stdout,这取决于使用的确切字节。尝试print repr(<the string of choice>) 显示字符串中的内容。
  • 但是你想做什么?你对 Python 和 Unicode 了解多少?也许阅读你应该从阅读nedbatchelder.com/text/unipain.html这里开始。

标签: python sublimetext2


【解决方案1】:

不是 100% 确定这是否会解决您的问题,但如果我尝试格式化:

# -*- coding: utf8 -*-
print("Hello world!    %s" %"«»••")

我能够生成不适合您的输出。

但是,如果它们都包含在同一个字符串中,则不会显示任何内容。如果我也尝试连接字符串,也会出现同样的错误。

【讨论】:

    猜你喜欢
    • 2014-10-28
    • 2015-12-24
    • 2014-01-30
    • 2014-01-27
    • 2019-05-23
    • 2013-10-11
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    相关资源
    最近更新 更多