[英]Why can't I display a unicode character in the Python Interpreter on Mac OS X Terminal.app?
如果我尝试粘贴unicode字符(例如中间点):
·
在我的python解释器中,它什么也没做。 我在Mac OS X上使用Terminal.app,当我只是以bash身份参加时,我没有遇到任何麻烦:
:~$ ·
但是在解释器中:
:~$ python
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
^^我什么也没得到,只是忽略了我刚刚粘贴的角色。 如果我使用中间点'\\ xc2 \\ xb7'的转义\\ xNN \\ xNN表示,并尝试转换为unicode,则尝试显示该点会导致解释器抛出错误:
>>> unicode('\xc2\xb7')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
我在sitecustomize.py中将“ utf-8”设置为默认编码,因此:
>>> sys.getdefaultencoding()
'utf-8'
是什么赋予了? 这不是航站楼。 不是Python,我在做什么错?!
这个问题与这个问题无关,因为这个人可以将unicode粘贴到他的终端中。
unicode('\\xc2\\xb7')
意味着使用默认编解码器ascii解码有问题的字节字符串-当然会失败(尝试设置其他默认编码从未奏效,特别是没有不适用于“粘贴文字”,无论如何都需要进行其他设置)。 您可以改用u'\\ xc2 \\ xb7',然后查看:
>>> print(u'\xc2\xb7')
·
因为这些当然是两个 unicode字符。 而:
>>> print(u'\uc2b7')
슷
给您一个unicode字符(具有某种东方的说服力-抱歉,我对这些事情一无所知)。 顺便说一句,这些都不是您想要的“中间点”。 也许你是说
>>> print('\xc2\xb7'.decode('utf8'))
·
这是中间的点。 顺便说一句,对我来说(在Mac Terminal.app上来自python.org的python 2.6.4):
>>> print('슷')
슷
哪种让我感到惊讶(我预料会出现错误...!-)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.