假设我们有一个字符串:
s = '\xe5\xaf\x92\xe5\x81\x87\\u2014\\u2014\xe5\x8e\xa6\xe9\x97\xa8'
两个符号'—'
,其Unicode为\u2014
,在UTF-8中未正确编码为'\xe2\x80\x94'
。是否有一种简单的方法来解码这个字符串?它应解码为寒假——厦门
手动使用替换功能正常:
t = u'\u2014'
s.replace('\u2014', t.encode('utf-8')
print s
但是,它不是自动的。如果我们提取Unicode,
index = s.find('\u')
t = s[index : index+6]
然后t = '\\u2014'
。如何将其转换为UTF-8代码?
答案 0 :(得分:0)
您在replace()
应该是:
s.replace("\\u2014", u'\u2014'.encode("utf-8") )
在问题的评论中检查我的警告。你不应该在这种情况下结束。