buf= 'b"\\\x00\\\x00\\\x1a\\\x00/H\\\x00\\\x00\\\xf8f\\\x14'""'
我需要:
buf= 'b"\x00\x00\x1a\x00/H\x00\x00\xf8f \x14'""'
我尝试过:buf=buf.replace("\\","\")
但是我遇到了错误:SyntaxError: EOL while scanning string literal
答案 0 :(得分:0)
请确保用另一个反斜杠转义每个反斜杠:
buf=buf.replace("\\\\","\\")
或者,您可以使用原始字符串:
buf=buf.replace(r"\\",r"\")
答案 1 :(得分:0)
您必须使用\
转义\
。因此,替换\
变成\\
,替换\\
变成\\\\
buf= 'b"\\x00\\x00\\x1a\\x00/H\\x00\\x00\\xf8f\\x14'""
buf=buf.replace("\\\\","\\") # give b"\x00\x00\x1a\x00/H\x00\x00\xf8f\x14
答案 2 :(得分:0)
在您的代码中
buf=buf.replace("\\","\")
第一个反斜杠将被视为转义序列,并将读取下一个具有特殊含义的字符。因此,在此阶段,“ \”将跳过第二个“,因此它将提高
SyntaxError:扫描字符串文字时会停工
将代码替换为
buf=buf.replace(r"\\",r"\")
此处“ r”用于完全读取字符串,它将跳过/避免转义序列