python - >如何在mac中使用ascii#219打印'块'

时间:2012-05-17 11:50:49

标签: python macos extended-ascii

我在mac osx上使用python,我想在这个表中使用扩展的ascii#219:

http://www.theasciicode.com.ar/extended-ascii-code/graphic-character-ascii-code-178.html

问题是,我发现mac ascii中不存在'block'字符...我不确定。 谁能帮我 ?尝试使用unichr(219)打印给我不同的结果。它将输出 - > Û。我想要的是 - > █

感谢名单

4 个答案:

答案 0 :(得分:11)

相应的unicode character is 0x2588,请使用:

print unichr(0x2588)        # or:
print u"\u2588"

应该给你正确的结果。 如果您希望使用不同的编码,则可以始终encode

答案 1 :(得分:2)

您发布的角色不是219,而是9608。 打印它应该可以正常工作:

python3:

>>> ord("█")
9608
>>> chr(9608)
'█'

python2:

>>> unichr(9608)
u'\u2588'
>>> print(u'\u2588')
█

如果您仍有麻烦,请将您的终端设置为使用utf-8,如果需要,请设置.encode()至utf-8。

答案 2 :(得分:2)

Extended ASCII table for Mac不存在该字符,但unicode表示将起作用。

答案 3 :(得分:0)

虽然其余注释正确地指出了Python技术方面,但仍有一些有关ASCII解释的细节。

使用编程语言时,几乎总是处理Unicode,重要的是Unicode编码与ASCII不同。因此,您需要检查Unicode表,例如WikiUnicode Table

您在代码中看到的是Û,它恰好是Unicode符号219 / 0xDB。而您想要的是,它是Unicode块符号9608 / 0x2588