lai*_*e9m 3 python python-2.7 python-unicode
我知道这听起来像是一个重复的问题,但这是因为我不知道如何正确地描述这个问题。
由于某种原因,我得到了一堆这样的unicode字符串:
a = u'\xcb\xea'
Run Code Online (Sandbox Code Playgroud)
如您所见,它实际上是汉字的字节表示形式,编码为 gbk
>>> print(b'\xcb\xea'.decode('gbk'))
?
Run Code Online (Sandbox Code Playgroud)
u'?'
是我需要的,但是我不知道如何转换u'\xcb\xea'
为b'\xcb\xea'
。
有什么建议么?
它实际上不是字节表示,仍然是unicode代码点。它们是错误的代码点,因为它是从字节解码的,就像被编码为Latin-1一样。
编码为拉丁文1(其代码点一对一映射到字节),然后解码为GBK:
a.encode('latin1').decode('gbk')
Run Code Online (Sandbox Code Playgroud)
演示:
>>> a = u'\xcb\xea'
>>> a.encode('latin1').decode('gbk')
u'\u5c81'
>>> print a.encode('latin1').decode('gbk')
?
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4493 次 |
最近记录: |