我想替换python中的反斜杠,在字节序列中用\替换\

问题描述 投票:0回答:1

所以我有一个如下所示的字节序列:

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'\\')
我也无法摆脱它们,这可能吗?

python replace byte encode
1个回答
0
投票

使用

raw_unicode_escape
转义反斜杠

key.replace(b"b'", b"").replace(b"' ", b"").decode('unicode_escape').encode("raw_unicode_escape")
© www.soinside.com 2019 - 2024. All rights reserved.