Ich habe eine Frage über Python 2-Codierung. Ich versuche, eine ASCII-Zeichenkette zu entschlüsseln, die Unicode-Code eines Buchstabens zu Unicode enthält, und es dann zurück zu Latin-1 zu kodieren, aber mit keinem Erfolg. Hier ist eine Abbildung:Konvertieren von ASCII in Unicode-Codierung Problem
In[27]: d = u'\u010d'
In[28]: print d.encode('utf-8')
č
In[29]: d1 = '\u010d'
In[30]: d1.decode('ascii').encode('utf-8')
Out[30]: '\\u010d'
Ich mag würde '\u010d'
-'č'
konvertieren. Gibt es integrierte Lösungen, um den Austausch von benutzerdefinierten Strings zu vermeiden?
Erstens kann eine ASCII-Zeichenkette niemals Akzentzeichen wie è enthalten, da sie nicht Teil von ASCII sind. Python ist streng deswegen, es interpretiert ASCII nicht als "irgendetwas, das ein Byte pro Zeichen verwendet". Wenn Sie nun Pythons "Unicode" anstelle von "Str" verwenden, um Strings zu speichern, könnten Sie dieses Zeichen tatsächlich speichern und vielleicht auch in die byteweise Darstellung Latin-1 konvertieren. Ich würde vorschlagen, dass Sie auf Python 3 aktualisieren, da es für verschiedene Codierungen besser entwickelt ist. –