在Python 2.x中将u'\ xe0'转换为'\ u00E0'?

Dra*_*uan 3 python unicode python-2.x

在Python 2.x中,如何将unicode字符串(ex,u'\xe0')转换为字符串(这里我需要它'\u00E0')?

使它更清楚.我喜欢有'\u00E0'一个长度为6的字符串.也就是说,¥u被视为2个字符而不是一个转义字符.

Tim*_*ker 5

\u 在Python 2中不作为字符串转义序列存在.

您可能是指JSON编码的字符串:

>>> s = u'\xe0'
>>> import json
>>> json.dumps(s)
'"\\u00e0"'
Run Code Online (Sandbox Code Playgroud)

或UTF-16(big-endian)编码的字符串:

>>> s.encode("utf-16-be")
'\x00\xe0'
Run Code Online (Sandbox Code Playgroud)

但你原来的要求是不可满足的.

另外,请注意,它u'\u00e0'是相同的u'\xe0',但'\u00e0'不存在:

>>> u'\u00e0'
u'\xe0'
Run Code Online (Sandbox Code Playgroud)