Auswertung von UTF-8-Literal-Escape-Sequenzen in einem String in Python3

Ich habe eine Zeichenkette des Formulars:

s = '\\xe2\\x99\\xac' 

Ich möchte das in das Zeichen to umwandeln, indem du die Escape-Sequenz auswählst. Allerdings hat alles, was ich ausprobiert habe entweder in einem Fehler oder druckt Müll. Wie kann ich Python zwingen, die Escape-Sequenz in einen wörtlichen Unicode-Charakter umzuwandeln?

Was ich an anderer Stelle gelesen habe, deutet darauf hin, dass die folgende Codezeile das tun sollte, was ich will, aber es führt zu einem UnicodeEncodeError.

 print(bytes(s, 'utf-8').decode('unicode-escape')) 

Ich habe auch das folgende probiert, welches das gleiche Ergebnis hat:

 import codecs print(codecs.getdecoder('unicode_escape')(s)[0]) 

Beide Ansätze erzeugen die Zeichenfolge 'â \ x99¬', die nachträglich nicht verarbeiten kann.

Falls es einen Unterschied macht, wird der String aus einer UTF-8-codierten Datei eingelesen und wird schließlich nach der Verarbeitung an eine andere UTF-8-codierte Datei ausgegeben.

One Solution collect form web for “Auswertung von UTF-8-Literal-Escape-Sequenzen in einem String in Python3”

...decode('unicode-escape') gibt dir String '\xe2\x99\xac' .

 >>> s = '\\xe2\\x99\\xac' >>> s.encode().decode('unicode-escape') 'â\x99¬' >>> _ == '\xe2\x99\xac' True 

Du musst es dekodieren Aber um es zu dekodieren, kodiere es zuerst mit latin1 (oder iso-8859-1 ), um die Bytes zu bewahren.

 >>> s = '\\xe2\\x99\\xac' >>> s.encode().decode('unicode-escape').encode('latin1').decode('utf-8') '♬' 
  • UnicodeDecodeError: 'ascii' Codec kann das Byte 0xc3 nicht in Position 23 decodieren: Ordinal nicht im Bereich (128)
  • Arbeiten mit utf-8-Codierung in Python-Quelle [duplizieren]
  • Wie schreibe ich einen Check in python, um zu sehen, ob die Datei gültig ist UTF-8?
  • Ist 'encoding ist ein ungültiges keyword' fehler unvermeidlich in python 2.x?
  • Wie man korrekt analysiert UTF-8 codierte HTML zu Unicode-Strings mit BeautifulSoup?
  • Wie man eine datei liest, die als ansi oder unicode in python gespeichert werden kann?
  • Kratzen einer Website, deren Encodierung iso-8859-1 statt utf-8 ist: Wie kann ich den richtigen Unicode in meiner Datenbank speichern?
  • Generiere Liste aus String mit korrekter Codierung (UTF-8)
  • Wie konvertiert man einen String von CP-1251 zu UTF-8?
  • Warum gibt SQLAlchemy create_engine mit charset = utf8 return python type <str> und nicht Typ <unicode>?
  • Wie lese man Text kopiert von Web zu txt Datei mit Python
  • Python ist die beste Programmiersprache der Welt.