我在看这个问题:python3 replacing double backslash with single backslash [duplicate]
筛选对类似问题的回答:Python Replace \ with \ , Why can't Python's raw string literals end with a single backslash? ,How do I unescape a unicode escaped string in python?
当我意识到没有一个答案能真正解决这个问题。 假设我有一个损坏的unicode字符串,它包含转义反斜杠和转义字符:
my_str = '\\xa5\\xc0\\xe6aK\xf9\\x80\\xb1\\xc8*\x01\x12$\\xfbp\x1e(4\\xd6{;Z'
当我打印它时,一些字符会评估:
^{pr2}$我可以这样手动修复:
my_str = repr(my_str)
my_str
"'\\\\xa5\\\\xc0\\\\xe6aKù\\\\x80\\\\xb1\\\\xc8*\\x01\\x12$\\\\xfbp\\x1e(4\\\\xd6{;Z'"
my_str = my_str.replace('\\\\','\\')
print(my_str)
'\xa5\xc0\xe6aKù\x80\xb1\xc8*\x01\x12$\xfbp\x1e(4\xd6{;Z'
但此时,我必须手动将打印结果复制并粘贴到变量中,以完成修复:
my_str = '\xa5\xc0\xe6aKù\x80\xb1\xc8*\x01\x12$\xfbp\x1e(4\xd6{;Z'
print(my_str)
¥ÀæaKù±È*☺↕$ûp▲(4Ö{;Z
如何在不复制和粘贴的情况下完成此操作?在
我在关于已接受答案的评论中提到了^{} 。但我觉得我应该在这里包括一个代码片段:
Reverse repr function in Python
结果(Python 3):
^{pr2}$去掉单引号,编码得到字节,然后使用“unicode escape”解码:
印刷品:
^{pr2}$相关问题 更多 >
编程相关推荐