有没有办法在 Python 中获取 ASCII 字符?

Is there a way to get ASCII characters in Python?

Python的内置函数ordchr return UNICODE字符,分别是基于16位数字,数字。有没有办法获取基于 8 位无符号数的扩展 ASCII 字符 (0-255),而无需为此定义字典?

我可以使用 Unicode 字符,但它的控制字符与 ASCII 不同(具体为 10、13、26 和 255)。这四个数字是我不能使用 Unicode 的主要原因,因为它们对我的代码很重要。

10:换行

13:马车Return

26:替补

255: nbsp

Python3 有 bytes 类型,它有一个 decode 方法将每个字节转换为相应的 Unicode 字符。但是由于有大约一千种不同的面向字节的字符集,您必须告诉 decode 您使用的是哪一个。

Python 3 默认为 'utf-8',但注释“255 是控制代码”告诉我您没有使用 UTF-8。我和 Python 都没有 crystal 球,所以你需要弄清楚你正在使用的字符集的名称。

[编辑] “nbsp”可能表示 Non-Breaking Space、U+00A0。如果将其编码为 255,则您可能正在处理 DOS code page 的某种风格。 .decode('cp850') 可能有效,但正如我所说,有成千上万的扩展名,猜测错误的名称会产生奇怪的 Unicode 输出。