所以我有一个如下所示的字节序列:
key = b"b')F\\x87\\x86\\xfc~Z\\xaa\\x15pf}\\xe6\\x9f\\xf5\\xd0' "
我希望它看起来像这样:
b')F\x87\x86\xfc~Z\xaa\x15pf}\xe6\x9f\xf5\xd0'
我正在以字节为单位操作序列,而不是将其转换为字符串,因为我需要序列保持字节类型,当我再次使用
decode()
和encode()
时,格式会发生变化,并且使用.replace
方法是毫无意义的因此,我发现在字节序列上使用替换方法是最实用的......除了反冲之外。
我使用替换方法来操作字节序列,使其看起来像我想要的那样,代码如下:
modified_bytes = key.replace(b"b'", b"").replace(b"'", b"").replace(b' ', b'').replace(b'\\\\',b'\\')
当我打印它时,它给了我
b')F\\x87\\x86\\xfc~Z\\xaa\\x15pf}\\xe6\\x9f\\xf5\\xd0'
这几乎就是我正在寻找的结果..除了反弹之外,我被卡住了,即使使用
.replace(b'\\\\',b'\\')
我也无法摆脱它们,这可能吗?
使用
raw_unicode_escape
转义反斜杠
key.replace(b"b'", b"").replace(b"' ", b"").decode('unicode_escape').encode("raw_unicode_escape")