我正在写一个Python程序,它将一些数据列表为标准输出,如果terminal支持它,我想使用奇妙的Unicode盒子绘制字符 。
现在有三种方法可以做到这一点:
始终使用ASCII或
错误:当在Linux上使用OpenGL编译C ++程序时,“GL / glfw3.h:没有这样的文件或目录”
如何使C计时器在Linux中的特定系统时间到期
jenkinspathgit Windows主/ Linux的奴隶
我如何优雅地退出X11事件循环?
做一些检查,并在必要时回退到ASCII。
我可以做什么检查? 我能想到的最好的方法是检查terminal是否有UTF-8语言环境。 但是,这既不是必要也不是充分的条件,因为用户可能没有任何支持箱体字符的字体; 否则他可能会使用支持线条绘制字符的不同语言环境。
sed行号范围与指定的“反转”范围
信号处理程序在C中停止定时器
Linuxembedded式(ARM)内存吞吐量低
如何用python脚本启动/终止应用程序?
您可以在try/except块中使用sys.stdout.encoding测试您的字符,以查看输出编码是否支持字符:
#!python3 #coding:utf8 import sys try: '┌┬┐╔╦╗╒╤╕╓╥╖│║─═├┼┤╠╬╣╞╪╡╟╫╢└┴┘╚╩╝╘╧╛╙╨╜'.encode(sys.stdout.encoding) test = True except UnicodeEncodeError: test = False if not test: print('Unsupported characters in',sys.stdout.encoding)
输出:
C:>chcp 437 C:>test C:>chcp 1252 Active code page: 1252 C:>test Unsupported characters in cp1252
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。