/ / Конвертиране на ASCII към Unicode кодиране въпрос [дубликат] - python, python-2.x

Конвертиране на ASCII в Unicode кодиране проблем [дубликат] - python, python-2.x

Имам въпрос за кодиране на Python 2. Опитвам се да декодирам ASCII низ, който съдържа Unicode код на писмо до Unicode, и след това го кодирам обратно към Latin-1, но без успех. Ето илюстрация:

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"

Бих искал да се обърна "u010d" да се "č", Има ли някакви вградени решения за избягване на потребителска подмяна на нишки?

Отговори:

1 за отговор № 1

Когато го направите

d1 = "u010d"

всъщност получавате този низ:

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

Това е защото "нормалните" (не-Unicode) низове не разпознават unnnn изходна последователност и следователно да я преобразува в буквална обратно наклонена черта, последвана от unnnn.

За да декодирате това, трябва да използвате unicode_escape кодек:

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

Но, разбира се, не трябва да използвате Unicode изходни последователности в низове, различни от Unicode, на първо място.