Python 3: преобразование ascii char в unicode - PullRequest
0 голосов
/ 09 мая 2018

Мне нужно преобразовать символ ascii в кодировку Unicode

Пример: "&" в "\\u0026"

Контекст:

Я получаю в качестве входных данных два значения: первое - строка, а другое - необработанный байт с некоторым содержимым. после этого первая строка используется в регулярном выражении для сбора данных в необработанном виде.

teste = "teste's teste & teste" raw = '.... teste\'s teste \\u0026 teste",null,["here","here2"] ....'

после этого, регулярное выражение используется с первым var teste, чтобы получить слова here и here2 в var raw, но в случае, когда некоторые символы типа & имеют в первом var, он не может найти в raw любой шаблон, потому что в raw переменная находится в escape-кодировке Unicode.

поэтому я пытаюсь преобразовать некоторые символы, такие как &, в кодировку Unicode без успеха

1 Ответ

0 голосов
/ 09 мая 2018

Большое спасибо, я временно решу это с помощью:

def escape_word(word):
    whitelist = [" ", "'"] + list(string.ascii_letters)
    new_word = ""
    for _c in word:
        if _c in whitelist:
            new_word += _c
        else:
            new_word += "\\u%04x" % ord(_c)
    return new_word

пока не найду лучшего решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...