UnicodeEncodeError: кодек 'charmap' не может кодировать символ (в Python 3.3)
Когда я пытаюсь напечатать все символы ASCII в Python, только 127 печатаются, и я получаю ошибку с выводом после 127. Я не могу понять, что означает эта ошибка.
Пример:
t = list(range(0, 256))
for x in t:
print(str(x) + ". " + chr(x))
Ошибка:
Traceback (most recent call last):
File "D:\Study\Pedia\Python Book\6. Functions\2. Built-in functions\ord_chr.py", line 6, in <module>
print(str(x) + ". " + str(chr(x)))
File "C:\Python33\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\x80' in position 5: character maps to <undefined>
Примечание: я не могу показать вам полный вывод, потому что я не могу скопировать полный необработанный вывод из консоли возвышенного вывода. Не знаю настоящую причину, почему это не может быть скопировано.
2 ответа
Решение
ASCII включает определения для 128 символов (0
в 127
).
\x80
(128) не включен там.
Когда я пытаюсь написать код на Windows, Python 2.7, он работает без исключения. Я должен был делать скриншоты, так как при копировании текста просто игнорировались эти расширенные символы ascii.