Распечатать смайлик в кодировке UTF8 - PullRequest
0 голосов
/ 03 апреля 2020

Я пишу бот реакционной системы Discord-Bot в Python (discord.py). Этот бот сохраняет ReactionRoles-Smileys в кодировке UFT8.

Тип закодированного байта, но он конвертируется в str для его сохранения. Строка выглядит как "b'\\xf0\\x9f\\x98\\x82'". Я использую EMOJI_ENCODED = str(EMOJI.encode('utf8')) для его кодирования, но bytes(EMOJI_ENCODED).decode('utf8') не работает.

Вы знаете, как его декодировать или как его лучше сохранить?

1 Ответ

0 голосов
/ 03 апреля 2020

Вывод str() является строкой Unicode. EMOJI является строкой Unicode. str(EMOJI.encode('utf8')) просто создает искаженную строку Юникода.

Цель кодирования - создать строку байтов, которую можно сохранить в файл / базу данных / сокет. Просто выполните b = EMOJI.encode() (по умолчанию UTF-8), чтобы получить строку байтов, и s = b.decode(), чтобы вернуть строку Unicode.

...