用字节或字符串中的单反斜杠替换双反斜杠python

时间:2021-01-19 19:23:31

标签: python python-3.x

在python3中我有一个像

的字节对象
a = b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x01\\x00`\\x00`\\x00\\x00\\xff\\xdb\\x00C\\x00\\x08\\x06\\x06\\x07\\x06\\x05\\x08\\x07\\x07\\x07\\t\\t\\x08\\n\\x0c\\x14\\r\\x0c\\x0b\\x0b\\x0c\\x19\\x12\\x13\\x0f\\x14\\x1d\\x1a\\x1f\\x1e\\x1d\\x1a\\x1c\\x1c $.\\\' ",#\\x1c\\x1c(7),01444\\x1f\\\'9=82<.342\\xff\\xdb\\x00C\\x01\\t\\t\\t\\x0c\\x0b\\x0c\\x18\\r\\r\\x182!'

我想用单反斜杠替换所有双反斜杠

d = b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00`\x00`\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08\n\x0c\x14\r\x0c\x0b\x0b\x0c\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.\\\' ",#\x1c\x1c(7),01444\x1f\\\'9=82<.342\xff\xdb\x00C\x01\t\t\t\x0c\x0b\x0c\x18\r\r\x182!\x1c!'

1 个答案:

答案 0 :(得分:0)

只需使用unicode_escape文本编码进行解码成一个字符串,然后使用raw_unicode_escape的编解码器,使其恢复成一个字节串。

escaped_byte_literal = b'\\xff\\xd8\\xff'
byte_literal.decode('unicode_escape').encode('raw_unicode_escape')

此代码将返回一个未转义的字节文字,它为您提供所需的结果:b'\xff\xd8\xff'unicode_escape 编解码器进行解码,删除转义符,而 raw_unicode_escape 编解码器在不添加转义符的情况下进行编码。