2017-02-07 3 views
0

Ich habe eine Zeichenfolge my_string, die ein Newline-Zeichen enthält. Wenn Sie also gedruckt werden, wird eine neue Zeile eingefügt.Unicode Escape-Codierung in Zeichenfolge (Python3) wiederherstellen

Zunächst ich my_string.encode('unicode_escape').decode("utf-8")

wo gibt \n

und print (repr(my_string))'\\n' gibt.

Dann will ich tun möchte, ist es in seinen ursprünglichen Zustand zurück zu konvertieren, so dass sie die Newline drucken, das heißt my_string nicht die Newline-Zeichen angezeigt werden \n oder \\n sondern einfach eine neue Linie einzuführen.

Ich suchte nach encode und decode aber konnte nicht herausfinden, wie es geht.

Antwort

1

Da Sie erste Codierung mit unicode_escape sind, dann mit utf-8 Decodierung würde die inverse Operation die Umkehrung der einzelnen Operationen sein, in umgekehrter Reihenfolge:

>>> x = '\n' 
>>> y = x.encode('unicode_escape').decode('utf-8') 
>>> y.encode('utf-8').decode('unicode_escape') 
'\n' 

(Die Socken/Schuhe Prinzip: Du ziehst zuerst deine Socken und dann deine Schuhe an, um das rückgängig zu machen, entferne zuerst deine Schuhe und dann deine Socken.)

Verwandte Themen