Вы можете кодировать строковое представление словаря и кодировать его, используя unicode_escape
.Это вернет объект bytes
, который вы захотите снова декодировать, чтобы получить строку.
d = {'middle': 'middle is:\U0001f004.'}
print(str(d).encode('unicode_escape').decode())
Выходы:
{'middle': 'middle is:\U0001f004.'}
Это должно работать в широком диапазоне ситуаций, ноВообще говоря, удостовериться, что напечатанная строка соответствует коду, используемому для создания любой структуры данных, невозможно.