Задать вопрос
YOin
@YOin
Data Analyst

Как декодировать строку?

Есть строка:

some_string = 'https://www.lagerbet.com/1xbet%25EC%259B%2590%25EC%2597%2591%25EC%258A%25A4%25EB%25B2%25B3-%25EB%25A8%25B9%25ED%258A%2580'

я четко выкупаю, что

%25EC%259B%2590%25EC%2597%2591%25EC%258A%25A4%25EB%25B2%25B3-%25EB%25A8%25B9%25ED%258A%2580

это utf-8 строка, вот только %25 - это \x.

re.sub(item1, item2, string) - такое не работает, вываливается ошибка re.error: bad escape \x at position 0.
Похожая ошибка с string.replace().
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@o5a
Похоже на двойное кодирование.
from urllib.parse import unquote

url = "%25EC%259B%2590%25EC%2597%2591%25EC%258A%25A4%25EB%25B2%25B3-%25EB%25A8%25B9%25ED%258A%2580"
print(unquote(unquote(url)))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Тут возможно encoding был применен несколько раз. Декодирование превращается в забавную игру. Но чтобы играть в нее нужно много времени.

Скажи там после 1xbet какая следующая русская буква должна быть по смыслу?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы