在Python中将u“string”转换为“string”而不改变编码

时间:2011-08-10 09:37:21

标签: python unicode

我有以下内容:

u'\x96'

我想将其转换为以下内容:

'\x96'

有没有办法做到这一点? str()不起作用,使用.encode(...)时会更改编码。我的主要目标是能够获得以下结果,因此任何到达那里的捷径都将被接受:

>>> '\x96'.decode("cp1252")
u'\u2013'

换句话说,我有u'\x96',我想要u'\u2013'。任何帮助将不胜感激。

我正在使用Python 2.7。

2 个答案:

答案 0 :(得分:6)

u'\x96'.encode('raw_unicode_escape').decode("cp1252")

答案 1 :(得分:3)

Latin-1是直接将Unicode的前256个字符映射到其字节值的编码。

>>> u'\x96'.encode('latin-1').decode("cp1252")
u'\u2013'