簡體   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