Starck43
@Starck43
Full-stack разработчик (Python, React)

Преобразование персонажей символов с помощью unicodedata.lookup в их unicode символы?

Хочу произвести замену unicode символов в их уникальное название, а потом вернуться обратно.
Не могу догнать как правильно выполнить преобразование к первоначальной строке.

Допустим есть такая строка:
import unicodedata

message = "Мне нравится,  \U0001f60a"
msg = re.sub(r'[^\w\s,]', lambda y: ':'+unicodedata.name(y.group(0))+':', message)
print(msg)
>>> Мне нравится, :SMILING FACE WITH SMILING EYES:
# Обратно произвожу замену названий на символы unicode
message = re.sub(r':([A-Z\s]*?):', lambda y: unicodedata.lookup(y), msg)
>>> TypeError: a bytes-like object is required, not 're.Match'

Думаю, что проблема тут: unicodedata.lookup(y)

Помогите разобраться, спасибо
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
message = re.sub(r':([A-Z\s]*?):', lambda y: unicodedata.lookup(y.group(1)), msg)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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