【发布时间】:2015-06-30 13:47:55
【问题描述】:
我使用 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。 -
<\a>也不是有效的 HTML... -
你的字符串包含
\a而不是\\a这一事实强烈表明这是不可能的——你如何区分“我想要\u0441描述的字符实体” i> from "我想要6个字符的序列\u0441" -
我认为
<\a>是一个错字 -
这是你想要的字符串吗...
'<a href = "http://www.mypage.com/\xd1\x81andmoretext">\xc2\xb2</a>'
标签: python string utf-8 converter unicode-escapes