2016-08-04 38 views
0

Zum Beispiel t = str.encode (msg)Wie entferne ich doppelten umgekehrten Schrägstrich von einem Byte-Objekt?

Druck (t) Ich erhalte die doppelten Schrägstriche.

b '\ xda \\ xad \\ x94 \\ xb4 \\ x0bg \\ x92] R \\ x9a1y \\ x9d \\ xed \\ x04 \\ xd5 \\ x8e + \\ x07 \\ xf8 \\ x03 \\ x1bm \\ XD6 \\ x96 \\ x10 \\ xca80 \\ xe26 \\ X8a

ich möchte das Ergebnis als

b '\ xda \ xad \ x94 \ bekommen xb4 \ x0bg \ x92] R \ x9a1y \ x9d \ fest \ x04 \ XD5 \ X8E + \ x07 \ XF8 \ x03 \ x1bm \ XD6 \ x96 \ x10 \ xca80 \ xe26 \ X8a‘

Jede Hilfe würde geschätzt.

Antwort

0

Sie können das nicht tun, weil '\\' einen Schrägstrich darstellen, kein doppelter Schrägstrich. Wenn Sie beispielsweise die Nachricht in eine Zeichenfolge konvertieren und die Druckfunktion zum Drucken der Nachricht verwenden, wird nur ein Schrägstrich angezeigt.

0

Ich wollte dies als Kommentar zu Adrian Gherasims Antwort platzieren, aber es wurde zu lang, so dass ich es als eine separate "Antwort".

Für normale Symbole können Sie verwenden, um die replace -function

In [1]: temp = 'aa1aa2aa3aa4aa5' 
In [2]: temp 
Out[2]: 'aa1aa2aa3aa4aa5' 
In [3]: temp.replace('aa', 'a') 
Out[3]: 'a1a2a3a4a5' 

Allerdings, wenn Sie versuchen, das gleiche mit Ihrem Doppelstrich zu tun gibt es einen Syntaxfehler

In [4]: temp2 = '\\1\\2\\3\\4' 
In [5]: temp2 
Out[5]: '\\1\\2\\3\\4' 
In [6]: temp2.replace('\\', '\') 

File "<ipython-input-6-3973ee057a3e>", line 1 
temp2.replace('\\', '\') 
        ^
SyntaxError: EOL while scanning string literal