/ / Converti il ​​problema di codifica ASCII in Unicode [duplicato] - python, python-2.x

Converti ASCII in un problema di codifica Unicode [duplicato] - python, python-2.x

Ho una domanda sulla codifica di Python 2. Sto cercando di decodificare una stringa ASCII che contiene il codice Unicode di una lettera in Unicode, e quindi ricodificarla in Latin-1, ma senza successo. Ecco un'illustrazione:

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"

Mi piacerebbe convertire "u010d" a "č". Esistono soluzioni integrate per evitare la sostituzione di stringhe personalizzate?

risposte:

1 per risposta № 1

Quando lo fai

d1 = "u010d"

in realtà ottieni questa stringa:

In [3]: d1
Out[3]: "\u010d"

Questo perché le stringhe "normali" (non Unicode) non riconoscono il unnnn sequenza di escape e quindi convertirlo in una letterale barra rovesciata, seguita da unnnn.

Al fine di decodificarlo, è necessario utilizzare il unicode_escape codec:

In [4]: print d1.decode("unicode_escape").encode("utf-8")
č

Ma ovviamente non dovresti usare sequenze di escape Unicode in stringhe non Unicode in primo luogo.