У меня есть это ??? ( громко плачущее лицо и хлопающая рука символ смайлика) в файле string.txt
(закодировано в utf-8
).
Я пытаюсь распечатать его в стандартном Python IDLE в предложении.
with open('string.txt','r') as f:
string = f.read()
Код:
>>> string
'\xf0\x9f\x98\xad\xf0\x9f\x91\x8f\xf0\x9f\x8f\xbb'
>>> print string
ð゚リᆳð゚ムマð゚マᄏ
>>> print string.decode('utf-8')
??? # <-- this is the output I want in a middle of sentence
Это вывод, который я хочу (прямоугольники).Сложность в том, что я хочу, чтобы они были в середине предложения.Итак:
>>> print 'The string is: {}!'.format(string.decode('utf-8')) # will get error
Traceback (most recent call last):
File "<pyshell#81>", line 1, in <module>
print 'The string is: {}!'.format(string.decode('utf-8'))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
Получена ошибка.Но если я не декодирую его, он работает:
>>> print 'The string is: {}!'.format(string)
The string is: ð゚リᆳð゚ムマð゚マᄏ!
Это не вызвало никакой ошибки, но я не хочу этот вывод.Я хочу прямоугольники.
Как мне решить эту проблему, чтобы она выглядела так:
>>> print 'The string is: {}!'.format(magical_string)
The string is: ???!
Предпочитает не использовать сторонние библиотеки.
РЕДАКТИРОВАТЬ:
Моя операционная система: Windows 7 (предпочтительное решение для всех Windows 7-10)
Python: 2.7