繁体   English   中英

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

[英]replace double backslash with single backslash in a byte or string python

在 python3 我有一个字节 object 像

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!'

只需使用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编解码器编码而不添加转义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM