【问题标题】:Print the "approval" sign/check mark (✓) U+2713 in Python在 Python 中打印“批准”标志/复选标记 (✓) U+2713
【发布时间】:2013-05-21 17:34:07
【问题描述】:

如何在 Python 中打印复选标记符号“✓”?

这是批准的标志,而不是平方根。

【问题讨论】:

  • 您正在寻找 unicode 字符:U+2713。
  • python -c "print '✓'" 执行得很好ideone.com/dTW5D8
  • ^^ 看看这里,可能有帮助吗? fileformat.info/info/unicode/char/2713/index.htm
  • 如果它不起作用,如果我没记错的话,可能是你的终端不支持 unicode。
  • 您的终端是否有支持该字符的字符编码和字体?

标签: python unicode


【解决方案1】:

您可以使用转义序列打印任何 Unicode 字符。确保制作一个 Unicode 字符串。

print u'\u2713'

【讨论】:

  • 我喜欢这种方式。你怎么知道如何打印每个 unicode 字符?有没有详尽的字符列表?
  • 我只使用可靠的谷歌 :)。如果您不知道自己在搜索什么,以下网站看起来很有希望:unicode-table.com
  • Wikipedia上也有一个列表,我时不时会用到。
【解决方案2】:

像这样:

print u'\u2713'.encode('utf8')

编码应该与您的终端(或您将输出发送到的任何地方)相匹配。

【讨论】:

  • 这是我一直在寻找的东西
  • @Philipp 这个答案来自 2013 年,当时 Python 2 还很酷。今天你可能(希望)运行了 Python 3,这个 sn-p 引发了 SyntaxError。但是,如果您正在运行 Python 2,那么您可能需要将 'utf8' 替换为 macOS 终端使用的编码,如答案中所指出的那样。
  • 啊 :D 这就是原因!
【解决方案3】:

从 Python 2.1 开始,您可以使用 \N{name} 转义序列按名称插入 Unicode 字符。使用此功能,您可以获得如下所示的复选标记符号:

$ python -c "print(u'\N{check mark}')"
✓

注意:要使用此功能,您必须使用 unicode 字符串文字。出于这个原因,使用了u 前缀。在 Python 3 中,前缀不是强制性的,因为默认情况下字符串文字是 unicode。

【讨论】:

    【解决方案4】:

    解决方案defining python source file encoding

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    print '✓'
    

    http://ideone.com/dTW5D8

    【讨论】:

    • 这是否也会影响输出编码还是仍需要指定?
    • 不,输出编码必须单独处理(至少在 Python 2.x 中)。 #coding-line 只告诉解释器如何解释源代码。
    • 上述解决方案有点隐含:因为@chico 没有使用 unicode 字符串,所以字符串已经被隐式编码——使用源文件的编码。如果您更改了文件的编码,它也会更改输出编码。你最好写print u'✓'.encode('utf8')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2013-05-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多