使用Python 3在终端中打印Unicode字符

4
我正在为终端编写一个双人棋类游戏,希望能够打印实际的Unicode字符(例如http://en.wikipedia.org/wiki/Rook_(chess)#Unicode)。如何在Python 3中打印实际的Unicode表示而非转义字符?终端的字符集需要更改吗(我主要使用Windows和Linux),这是否可以通过程序本身的系统调用来完成?

这可能会有所帮助:https://dev59.com/DnRB5IYBdhLWcg3wz6QJ - Ashwini Chaudhary
除了ASCII的行打印之外,如果想要在Windows终端和Linux终端中实现其他功能,就需要使用库。UniCurses是一个Python库,它包装了curses/PDCurses。我没有使用过它,但值得一试。 - Lennart Regebro
请参考:https://dev59.com/DnRB5IYBdhLWcg3wz6QJ#30505612 - Adobe
2个回答

4

哦...打印它们...

3>> print('♔♕♖')
♔♕♖

在运行脚本之前,Windows可能需要使用chcp 65001命令。


执行chcp 65001后,尝试运行Python时出现以下错误:“Fatal Python error: Py_Initialize: can't initialize sys standard streams LookupError: unknown encoding: cp65001”。 - Robert Sheldon
那可能是特定的Python安装出了问题。 - Ignacio Vazquez-Abrams
1
看起来这个程序只能在Linux上运行。Windows终端似乎对非ASCII字符非常敏感,我甚至无法在终端中回显这些字符,即使我切换到65001编码也不行,它会直接退出。感谢您的建议。 - Robert Sheldon
请确保在您的Linux控制台上使用正确的编码... 有关更多信息,请查看此问题[链接](https://dev59.com/V2435IYBdhLWcg3woRnG) - golja
Python3.3中增加了对cp65001的支持,但它仍然不能正常工作。 - Mark Tolonen
我正在使用W7终端和ipython,无法显示表情符号...想念我的*unix环境。 - wbg

3

Python 3不需要额外的东西,只需使用print()即可。

>>> print('القاموس العربي')
القاموس العربي

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接