打印“Dü塞尔多夫”使用Python

发布于 2024-12-16 00:23:24 字数 146 浏览 3 评论 0原文

我正在尝试使用字符串 Düsseldorf。当我这样做时:

# -*- coding: utf-8 -*-
print "Düsseldorf"

它会打印奇怪的字符。有人可以帮我吗?

非常感谢。

I am trying to use the string Düsseldorf. When I do that :

# -*- coding: utf-8 -*-
print "Düsseldorf"

it prints strange characters. Could anyone help me please ?

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

多情出卖 2024-12-23 00:23:24
>>> print u"Düsseldorf"
Düsseldorf

“Python 中的 Unicode,完全揭秘”

>>> print u"Düsseldorf"
Düsseldorf

"Unicode In Python, Completely Demystified"

痴情换悲伤 2024-12-23 00:23:24

最有可能的是,您的编辑器未设置为生成 UTF-8 输出。将其设置为输出 UTF-8 应该可以解决该问题。

或者,使用 unicode 转义:

print u"D\u00FCsseldorf"

请注意字符串文字 应该以 u 为前缀(对于 unicode)。无前缀文字(如“Düsseldorf”)生成 str 对象,这些对象是字节数组(尽管有名称),而不是字符串。因此,在具有正确配置的编辑器的 Python 2.x 中,您希望:

print u"Düsseldorf"

在 Python 3.x 中,通过让 str 对象表示字符串并引入 bytes 字节数组类型,如 b'D\xc3\xbcsseldorf' 所示。

Most likely, your editor is not set to produce UTF-8 output. Setting it to output UTF-8 should fix the problem.

Alternatively, use unicode escapes:

print u"D\u00FCsseldorf"

Note that string literals in Python 2.x should be prefixed with a u(for unicode). Unprefixed literals(like "Düsseldorf") generate str objects which are byte arrays (despite the name), not strings. Therefore, in Python 2.x with a correctly configured editor, you want:

print u"Düsseldorf"

In Python 3.x, the situation has been rectified by letting str objects represent, well, strings, and introducing the bytes type for byte arrays, as in b'D\xc3\xbcsseldorf'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文