Por que os dados unicoded não reconhecem certos caracteres?
No Python 2, pelo menos,unicodedata.name()
não reconhece certos caracteres.
ActivePython 2.7.0.2 (ActiveState Software Inc.) based on
Python 2.7 (r27:82500, Aug 23 2010, 17:17:51) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> from unicodedata import name
>>> print(u'\n')
>>> name(u'\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: no such name
>>> name(u'a')
'LATIN SMALL LETTER A'
>>>
(O primeiroprint
é demonstrar que o próprio Python reconheceu'\n'
como uma nova linha.)
Certamente Unicodecontém o personagem\n
e tem um nome, especificamente "LINE FEED".
NBunicodedata.lookup('LINE FEED')
eunicodedata.lookup(u'LINE FEED')
ambos fornecem um KeyError: nome de caractere indefinido.