【发布时间】:2021-09-21 13:55:18
【问题描述】:
Python 的内置函数ord 和chr 分别返回基于16 位数字和数字的UNICODE 字符。有没有办法在不定义字典的情况下获取基于 8 位无符号数字的扩展 ASCII 字符 (0-255)?
我可以使用 Unicode 字符,但它的控制字符与 ASCII 不同(特别是 10、13、26 和 255)。这四个数字是我不能使用 Unicode 的主要原因,因为它们对我的代码很重要。
10:换行
13:回车
26:替换
255:nbsp
【问题讨论】:
-
也许
string.ascii_letters可能就是您要找的东西? -
Unicode 代码点从 0-127 与 ASCII 字符完全相同,不需要映射。
-
@Enigmacy:大约有一千种不同的扩展。例如,一些扩展有欧元符号€,但大多数没有。 Unicode 的前 256 个字符特别是 ASCII 的 ISO 8859-1“Latin-1”扩展。
-
@Enigmacy:没有“扩展 ASCII”这样的东西。或者更准确一点:有很多很多基于 ASCII 的 8 位编码,有时统称为“扩展 ASCII”。但它们是“扩展的 ASCII”,与 Unicode 本身是“扩展的 ASCII”的意义大致相同。请忘记这个术语的存在,因为它会导致您在这个问题中遇到的那种混乱。如果您需要“扩展 ASCII”,那么请谈谈您关心的 特定 编码,但不要谈论 ASCII(因为它只是 0-127)。
-
@Enigmacy:10,13 和 26 确实是 ASCII、每个 ASCII 扩展名和 Unicode。但是 255 在大多数 ASCII 扩展中不是控制字符,尤其是在 ISO-8859-1 中。它在哪里
ÿ。因此,Unicode中的U+00FF也是ÿ
标签: python python-3.x ascii