如果我尝试粘贴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”的escape\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,我做错什么了?!
这个问题与这个question无关,因为indivdiual能够将unicode粘贴到他的终端中。
unicode('\xc2\xb7')
意味着使用默认编解码器解码有问题的字节字符串,这是ascii——当然,这是失败的(尝试设置不同的默认编码从来没有很好地工作过,特别是不适用于“粘贴的文本”--这无论如何都需要一个不同的设置)。您可以改为使用u'\xc2\xb7',并查看:因为它们是两个unicode字符。当:
给你一个单一的unicode字符(某种东方的说服力——抱歉,我对这些东西一无所知)。顺便说一下,这两个都不是你要找的“中间点”。也许你是说
其中是中间点。顺便说一句,对我来说(python 2.6.4来自Mac Terminal.app上的python.org):
这让我很惊讶(我预料到一个错误。。。!-).
相关问题 更多 >
编程相关推荐