Как правильно преобразовать и назначить строку в юникоде? - PullRequest
0 голосов
/ 15 января 2019

Моя проблема заключается в следующем:

  1. Я получаю из поискового запроса Google следующую строку в юникоде: "Playa de Porc% C3% ADa".
  2. Мне нужно правильно преобразовать «Playa de Porc% C3% ADa» в «Playa de Porcía», чтобы передать эту новую строку в функцию, которая будет выполнять другой поиск.
  3. Проблема в том, что акцент "í" - это cd ad в юникоде, я пытался использовать decode () и encode () несколькими способами, но не могу добраться до сути.

Привет!

Редактировать: мой код на python2.

1 Ответ

0 голосов
/ 15 января 2019

Это не строка Юникода. Это строка в процентах

например %20 является символом пробела https://www.url -encode-decode.com / - онлайн-декодер URL

Python 2 Verison

import urllib2
print urllib2.unquote("Playa de Porc%C3%ADa")

Python 3 Verison

import urllib
urllib.parse.unquote("Playa de Porc%C3%ADa")

код для всех версий

try:
    from urllib import unquote
except ImportError:
    from urllib.parse import unquote

print(unquote("Playa de Porc%C3%ADa"))

выход

'Playa de Porcía'

https://docs.python.org/3/library/urllib.parse.html

...