Python 如何处理不可打印的字符?

How does Python handle non-printable characters?

我正在制作一个使用密钥加密文件的程序。 它只能加密数字、字母、空格和一些符号。 等等

This is text >>> h5D#I2%%&12s

我的程序也可以加密文件。 (至少我正在努力) 如果文件包含这样的字符怎么办? - uún‰3«°Ø 以及 NULL、CAN 或 SOH 字符。

我有一个想法:我想不加密这些和所有其他非 ascii 字符。但是我不知道Python是否可以和他们一起工作。

P.S。这是项目的 link:(而且它还没有完成,没有工作) https://www.dropbox.com/sh/lq8j4vmci5c2vmh/AADeSTPVYeV13z5HRHp-NlWPa?dl=0

Python 字节字符串(在 Python 2 中键入 str,在 Python 3 中键入 bytes)只是不透明的字节序列,其中每个字节具有 0 到 255 之间的整数值。

如何处理这些字节取决于您。您可以将它们视为文本;打印文本、拆分空格、更改大小写等。或者您可以将其视为二进制数据,由您选择。如果您选择将内容视为文本,那么是的,一些字节是 'unprintable' 因为 ASCII 编解码器没有为这些代码点分配可打印的字形。 Python,不过,不在乎。

以二进制模式('rb''wb' 等)打开文件,确保行分隔符(\n\r\r\n 字符)不会从平台本机形式转换到平台本机形式。