@pcdesign

Какой аналог Perl модуля (URI::Escape::JavaScript) в Python3?

Вот код из Perl:
perl -E 'use URI::Escape::JavaScript qw/escape unescape/; use Encode; $a = "яблоко"; Encode::_utf8_on($a);  say escape($a);'


Результат:
%u044F%u0431%u043B%u043E%u043A%u043E

Как получить тоже самое в Python3?
В лоб, что получается:
from urllib import quote

query = 'яблоко'
print(quote(query))

и результат:
%D1%8F%D0%B1%D0%BB%D0%BE%D0%BA%D0%BE

Как получить строку один в один как в Perl?
Как "яблоко" в Python превратить в "%u044F%u0431%u043B%u043E%u043A%u043E"?
  • Вопрос задан
  • 2458 просмотров
Решения вопроса 1
@pcdesign Автор вопроса
На коленке нашел такое решение:

import json
import re

query = "яблоко"
esc = json.dumps(query).upper()
p = re.compile(r"\\U", re.I)
esc = p.sub('%u', esc)
print(esc)


Результат:
%u044F%u0431%u043B%u043E%u043A%u043E

Но как-то мне все это не нравится.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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