如何在 python 中打印 32 个 ascii 控制字符?



ASCII 字符从 0 到 127,但只有一些数字是可打印字符。 其中 32 个是控制字符,不可打印。有没有办法将任何字符分配给 32 个字符的十六进制值?这样我就可以打印所有 127 个字符。我不想要 UTF,因为它每个字符需要 2 个字节。我想要从 0 到 255 的所有字符,每个字符一个字节。我打算以 ANSI 格式保存文件。

顺便说一下,我正在用Python开发这个程序。

恳请指教。

法典

发短信

这是可能的。每个文本文件也是一个二进制文件。因此,所有字符,无论它们是否可打印,都由数字 [0..255] 表示。 如果逐个字符读取文件字符,则始终可以使用ord(char)检索该数字。

您可以使用自己的私有MYASCII表将序号转换为所需的字符,而不是标准的 UTF-8 文本解释(Python 使用 UTF-8 作为内部表示形式(。

写入文件是类似的:假设你有一个"奇怪"的字符'я',你可以在你自己的MYASCII表中写下它的位置的序号值,然后你用chr(num)写序号来写文件,而不是写那个字符。

通过这种方式,您可以定义自己的"编码"。也就是说,您将如何解释文本文件中的数字 [0 .. 255]。但是,您始终需要自己的 MYASCII 表来解释该文件。对于没有该表的任何程序,例如任何外部文本编辑器,它将显示为ANSI的位置。

最新更新