2017-12-28 35 views
0

Betrachten Sie, ich habe eine Unicode-Zeichenfolge (nicht die echte Unicode, sondern die Zeichenfolge, die wie Unicode aussieht). und ich möchte, dass es utf-8-Variante ist. Wie kann ich das in Python machen? Zum Beispiel Wenn ich String wie:Wie konvertiert man Unicode-String in normalen Text in Python

title = "\\u10d8\\u10e1\\u10e0\\u10d0\\u10d4\\u10da\\u10d8 == \\u10d8\\u10d4\\u10e0\\u10e3\\u10e1\\u10d0\\u10da\\u10d8\\u10db\\u10d8" 

Wie kann ich es tun, so dass ich seine utf-8-Variante (Georgian Symbole) erhalten:

ისრაელი == იერუსალიმი

um es einfach ich Code haben wollen wie:

title = "\\u10d8\\u10e1\\u10e0\\u10d0\\u10d4\\u10da\\u10d8 == \\u10d8\\u10d4\\u10e0\\u10e3\\u10e1\\u10d0\\u10da\\u10d8\\u10db\\u10d8" 
utfTitle = title.TurnToUTF() 
print(utfTitle) 

Und ich möchte diesen Code ausgegeben haben:

ისრაელი == იერუსალიმი

+0

Siehe https://stackoverflow.com/Fragen/1473577/Schreiben-Unicode-Zeichenfolgen-via-sys-stdout-in-Python – ozking

+0

Ich denke, dass dies [Link] (https://Stackoverflow.com/a/4182635/8179099) kann Ihnen helfen ... –

+0

@ MosheSlavin Es hilft nicht –

Antwort

1

Sie können die unicode-escape Codec der verdoppelten-Schrägstriche, um loszuwerden, und Nutze die Zeichenfolge effektiv.

Angenommen, dass title ein str ist, müssen Sie die Zeichenfolge zuerst codieren, bevor Sie wieder in Unicode (str) dekodieren.

>>> t = title.encode('utf-8').decode('unicode-escape') 
>>> t 
'ისრაელი == იერუსალიმი' 

Wenn title eine bytes Instanz ist, können Sie direkt dekodieren:

>>> t = title.decode('unicode-escape') 
>>> t 
'ისრაელი == იერუსალიმი' 
2

Hier gehen Sie. Verwenden Sie einfach decode Methode und Anwendung unicode_escape

Für Python 2.x

title = "\\u10d8\\u10e1\\u10e0\\u10d0\\u10d4\\u10da\\u10d8 == \\u10d8\\u10d4\\u10e0\\u10e3\\u10e1\\u10d0\\u10da\\u10d8\\u10db\\u10d8" 
utfTitle = title.decode('unicode_escape') 
print(utfTitle) 

#output :ისრაელი == იერუსალიმი 

für Python 3.x

title = "\\u10d8\\u10e1\\u10e0\\u10d0\\u10d4\\u10da\\u10d8 == \\u10d8\\u10d4\\u10e0\\u10e3\\u10e1\\u10d0\\u10da\\u10d8\\u10db\\u10d8" 
print(title.encode('ascii').decode('unicode-escape')) 
+0

Hinweis: Dies funktioniert nur in Python 2.x. – lenz

+0

@lenz ja. aktualisiert –

1

annehmen lassen Sie die Unicode-str Typ sein und konvertieren mit dekodieren und Unicode-Escape- Methode

title = "\ u10d8 \ u10e1 \ u10e0 \ u10d0 \ u10d4 \ u10da \ u10d8 == \ u10d8 \ u10d4 \ u10e0 \ u10e3 \ u10e1 \ u10d0 \ u10da \ u10d8 \ u10db \ u10d8"

res1 = title.encode ('utf-8')

res2 = res1.decode ('Unicode-Escape')

print (res2)

Verwandte Themen