当想要把一个字符串中的\u002F这样的字符串转成正常字符串时,如果字符串中存在中文字符,将导致中文被转成乱码。
例如:

content = "\\u002F哈哈"
content = content.encode("utf-8").decode("utf-8") 
==> \u002F哈哈  无法进行转码

如果使用.decode(“unicode-escape”)

content = "\\u002F哈哈"
content = content.encode("utf-8").decode("unicode-escape")
==> /哈哈   中文被转码导致乱码

解决方法是逐段解码,只对\uxxxx这样的字符串进行unicode-escape解码,代码如下

import re
content = "\\u002F哈哈"
content = re.sub(r'(\\u[\s\S]{4})',lambda x:x.group(1).encode("utf-8").decode("unicode-escape"),content)
==> /哈哈 

 

补充:自己

content = "\u002F哈哈"
content.encode("utf-8").decode("unicode-escape")
print(content)
==> /哈哈

 

原文:https://blog.csdn.net/wang785994599/article/details/97653329

相关文章:

  • 2022-12-23
  • 2022-01-04
  • 2021-10-29
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
  • 2021-12-02
  • 2022-12-23
相关资源
相似解决方案