我使用Python 2.7版本,从服务器接收到一个字符串(不是Unicode格式)。 在这个字符串中,我发现了包含Unicode转义序列的文本。例如:
<a href = "http://www.mypage.com/\u0441andmoretext">\u00b2<\a>
如何将那些
\uxxxx
转换回utf-8?我找到的答案要么处理&#
,要么需要eval()
,但对于我的目的来说太慢了。我需要一个适用于包含这种序列的任何文本的通用解决方案。编辑:
<\a>
是一个错别字,但我也希望能容忍这样的错别字。只应该对\u
产生反应。示例文本的格式应遵循正确的Python语法,如下所示:
"<a href = \"http://www.mypage.com/\\u0441andmoretext\">\\u00b2<\\a>"
期望输出符合Python语法
"<a href = \"http://www.mypage.com/\xd1\x81andmoretext\">\xc2\xb2<\\a>"
str.encode('utf-8')
吗?这会将字符串转换为 Unicode。 - Matthew\a
而不是\\a
,这强烈暗示着这是不可能的 - 你如何区分“我想要由\u0441
描述的字符实体”和“我想要由6个字符\u0441
组成的序列”? - Eric<\a>
是一个打字错误。 - Paulo Bu'<a href = "http://www.mypage.com/\xd1\x81andmoretext">\xc2\xb2</a>'
- Shashank