Python - Как преобразовать литерал utf, такой как '\ xc3 \ xb6', в букву ö - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь преобразовать закодированный URL с немецким Umlaute в строку с этими Umlaute.

Вот пример закодированной строки = 'K% C3% B6nnen'. Я хотел бы преобразовать его в 'Können'

Когда я использую urllib.unquote (a), я получаю следующее: 'K \ xc3 \ xb6nnen'

\ xc3 \ xb6 Я обнаружил, что это литерал utf.

Как я могу преобразовать это в ö? Я обнаружил, что если я использую функцию печати, она конвертирует ее правильно, но я не могу понять, как заставить функцию возвращать это значение? Есть идеи?

1 Ответ

1 голос
/ 10 мая 2019

с декодированием ("utf-8")

print('K\xc3\xb6nnen'.decode("utf-8"))

OUTPUT

Können

ДОПОЛНИТЕЛЬНО редактировать, позаботьтесь об этом

>>> l = []
>>> l.append(s.decode("utf-8")) #s is the string
>>> l
[u'K\xf6nnen']
>>> print(l)
[u'K\xf6nnen']
>>> print(l[0])
Können
>>> 

Python будет использовать кодификацию для управления строкой, print может дать вам представление, но не реальное значение, используйте repr (s) для реального значения

...