在Python中str到字节

时间:2014-12-01 12:32:38

标签: python string unicode byte encode

如何从b'\xe3\x81\x82'获取'\xe3\x81\x82'

最后,我想要u'\u3042',这意味着日文字母'あ',

b'\xe3\x81\x82'.decode('utf-8')u'\u3042',但

'\xe3\x81\x82'.decode('utf-8')会导致以下错误

AttributeError: 'str' object has no attribute 'decode'

因为b'\xe3\x81\x82'是字节而'\xe3\x81\x82'是str。

我的数据库包含'\xe3\x81\x82'等数据。

1 个答案:

答案 0 :(得分:4)

如果您将字节伪装成Unicode代码点,请编码为Latin-1:

'\xe3\x81\x82'.encode('latin1').decode('utf-8')

Latin-1(ISO-8859-1)将Unicode代码点一对一映射到字节:

>>> '\xe3\x81\x82'.encode('latin1').decode('utf-8')
'あ'