当我查看其代码点gb18030时,会出现一些特殊的中文词语,如'觱''踨'。编码方法如何在Python中返回非十六进制代码点?
>>>
u'觱'.encode('gb18030')
'\xd3v'
我一直困惑的代码点'\ xd3v'。这不是一个正确的十六进制数字。
谁能解释清楚?
其实,我有一个转换GB18030的代码点的任务,像“CDF2“F4A5”等等,到
其对应的Unicode编码。
>>>
'CDF2'.decode('hex').decode('gb18030')
u'\u4e07'
但,
>>>
'd3v'.decode('hex').decode('gb18030')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/encodings/hex_codec.py", line 42, in hex_decode
output = binascii.a2b_hex(input)
TypeError: Odd-length string
所以,我不明白为什么编码方法返回一个非十六进制代码点。
例如,'\ xd3v'的含义'v'是什么?