Задать вопрос
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().
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 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 какая следующая русская буква должна быть по смыслу?
Ответ написан
Ваш ответ на вопрос

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

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