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

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

Войти через центр авторизации
Похожие вопросы