如何用prin在Python中显示特殊字符

2024-05-17 11:13:04 发布

您现在位置:Python中文网/ 问答频道 /正文

在我正在编写的Python程序中,我需要打印版权符号。有什么简单的方法可以做到这一点吗?或者在Python中不支持它?这里有一个例子。

print ("\(copyright symbol here\)") 

只是个很简单的问题。谢谢!


Tags: 方法程序here版权符号symbol例子copyright
3条回答

在python 2中:

>>> print u"\u00a9"
©
>>> print u"\N{COPYRIGHT SIGN}"
©

在python 3中:

>>> print("\u00a9")
©
>>> print("\N{COPYRIGHT SIGN}")
©

在python 2中,必须在字符串前面加上u(u"...")来告诉python它是unicode字符串。但是,在python 3中,所有字符串都是unicode字符串,因此不必(实际上在3.0-3.2中也不允许)在字符串前面加上u

您可以在这里查看字符及其名称/unicode值的列表:http://www.fileformat.info/info/charset/UTF-16/list.htm 使用它们就像你看到这里使用的版权符号一样

在Python中,可以通过三种方式将Unicode字符放入字符串中。(如果您使用的是2.x而不是3.x,那么使用Unicode字符串(如u"…"而不是"…")会更简单,而且您必须使用unichr而不是chr,否则一切都一样。)

  • “):直接键入。
    • 这意味着您可能需要为源代码选择一个字符编码,例如,显式地将文件保存为UTF-8,并在其顶部放置一个编码头。(对于3.3,UTF-8是默认的,因此如果您使用的是编码头,则不需要编码头。)
    • 在Mac OS X下,在大多数语言的默认键盘设置中,这是opt-G
    • 在Windows下,我相信你可以使用alt数字键盘技巧和0169来输入它,尽管这看起来并不容易。
    • 如果你不知道如何用键盘输入')',从其他地方复制并粘贴它(谷歌“版权标志”,你应该找到一个网页,你可以从这里复制,或者,就这一点而言,从这里)。
    • 或者,您的计算机可能有一个字符查看器或类似的东西,允许您指向并单击特殊字符。
  • “\u00a9”:使用Unicode数字转义序列。
    • 谷歌的“unicode版权标志”,你会很快看到它的U+00A9。在Python中,这是“u00a9”。
    • 对于基本多语言平面(即超过4个十六进制数字)之外的任何内容,请使用大写U和8位数字。
  • '\N{COPYRIGHT SIGN}':使用Unicode实体名转义序列。
    • 同样,您可能需要google来找到实体的正确名称。
    • 你能用什么名字,不能用什么名字,并没有完全记录在案。但它通常在您期望的时候工作,而且COPYRIGHT SIGN显然比00a9更具可读性。

您还可以间接地执行一些操作,例如,unicodedata.lookup('COPYRIGHT SIGN')chr(0xa9)将返回与上面的文本相同的字符串。但是没有理由不使用文字。

Python文档中的Unicode HOWTO在这方面有很多细节,如果您不愿意阅读全部内容,The String Type描述了不同类型的转义序列(以及unicode和字节字符串之间的编码/解码问题,这在2.x中特别重要),以及Unicode Literals in Python Source Code描述了如何指定编码声明。

如果您想要一个可以使用的所有字符的正式列表,而不只是在google上搜索这些字符,请查看Python版本的^{}文档,其中包含到相应版本的Unicode字符数据库的链接。(例如,它在3.3.0中是6.1.0,在2.7.3中是5.2.0,等等)您必须通过几个链接导航到实际的列表,但这是您获得保证完全编译成Python的内容的唯一方法。(而且,如果你不在乎这个,你也可以用谷歌搜索,或者用维基百科或者你电脑的字符浏览器。)

当然!键入版权符号:

print("©")

(在Python中没有字符实体,比如说,HTML。)

相关问题 更多 >