1

当我尝试在 Python 中打印所有 ASCII 字符时,只打印了 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>

注意:我无法向您显示完整的输出,因为我无法从 sublime 输出控制台复制完整的原始输出。不知道它不能被复制的真正原因。


在此处输入图像描述

4

2 回答 2

1

当我在 Windows、Python 2.7 上尝试你的代码时,它毫无例外地工作。我不得不截取屏幕截图,因为复制文本只是忽略了那些扩展的 ascii 字符。

第1部分 第2部分 第 3 部分

于 2014-01-14T15:03:41.520 回答
1

ASCII 包括 128 个字符的定义 ( 0to 127)。

\x80(128) 不包括在内。

于 2014-01-14T14:50:56.277 回答