繁体   English   中英

无法在 Python 2 中打印 Unicode 比特币符号

[英]Can't print Unicode Bitcoin symbol in Python 2

我正在尝试在 Python 2 中打印 Unicode 比特币符号\⁃ 。我尝试添加#-*- coding: utf-8 -*-

$ python2 -c 'print u'\u0243''

引发UnicodeEncodeError: 'ascii' codec can't encode character u'\Ƀ' in position 0: ordinal not in range(128) 但是,从 Python shell 执行此操作是可行的。

$ python2
>>> print u'\u0243'
Ƀ

为什么这段代码不起作用?

bitcoin = u'\u0243'
quote = u'{:,.2f}'.format(float(val), '.2f')
print bitcoin, quote

在 Unix 上,如果sys.stdout.isatty()返回Truesys.stdout.encoding'ANSI_X3.4-1968' (ascii) 那么你应该配置你的语言环境(检查LANGLC_CTYPELC_ALL envvars)以使用非 ascii如果您需要打印非 ASCII 字符,请进行编码。

如果sys.stdout.isatty()为 false,则在脚本外配置PYTHONIOENCODING envvar。
始终打印 Unicode,不要在脚本中硬编码环境的字符编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM