是否有办法在Python中获得ASCII字符?



Python的内置函数ordchr返回UNICODE字符,它们分别基于16位数字和数字。是否有一种方法可以获得基于8位无符号数的扩展ASCII字符(0-255),而无需定义字典来这样做?

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

10:换行

13:回车

26:替代

255年:

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

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

[编辑]"nbsp"可能是指非破断空间,U+00A0。如果它被编码为255,那么您可能正在处理某种类型的DOS代码页。.decode('cp850')可以工作,但正如我所说的,有成千上万的扩展名,猜测错误的名称将会给出奇怪的Unicode输出。

最新更新