本帖最后由 YunGuo 于 2020-11-26 17:18 编辑
兄弟,有空给你研究了一下这个问题,python3中其实还是有办法可以解决的。
先将字符串编码为unicode_escape,作用就是将字符串反向转换
- s='\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c'
- s = s.encode('unicode_escape')
复制代码
得到的是bytes类型数据(字符串中的单斜杠变成双斜杠)
- b'\\xe4\\xbd\\xa0\\xe5\\xa5\\xbd\\xe4\\xb8\\x96\\xe7\\x95\\x8c'
复制代码
再将bytes类型转为字符串,取出b中间的字符串,将字符串中\\x替换为%,改成url编码
- ss = re.findall("b'(.*?)'", str(s))[0].replace('\\\\x', '%')
复制代码
或者直接解码,再替换
- ss = s.decode('utf-8').replace('\\x', '%')
复制代码
得到中文的url编码
- %e4%bd%a0%e5%a5%bd%e4%b8%96%e7%95%8c
复制代码
最后利用urllib的unquote方法转为中文