2

我正在尝试使用 python 构建一个加密系统。它基于德国在二战中使用的洛伦兹密码机,但要复杂得多(7 位 ascii 加密和 30 个转子,与原来的 5 位和 12 个转子相比)。

到目前为止,我已经制定并编写了步进系统。我还创建了一个系统来分割明文。但是当检查输出时,逐个字符(通过不将密文拼接在一起)我得到了这个你好:

['H', 'Z', '\x0e', '>', 'f']

我已经意识到这'\x0e'一定是 ascii 中的一些特殊字符,但我确信当程序解密时,它会单独查看其中的每个字母。有人可以告诉我这'\x0e'意味着什么,是否还有其他这样的字符,以及是否有一种简单的方法可以绕过它。

提前致谢!

4

2 回答 2

3

'\x0e'是 ASCII SO(移出)不可打印字符。它是单个字符,任何处理该字符串的合理程序都会这样对待它;您只是看到它是这样表示的,因为您正在print创建一个列表,该列表显示列表repr中每个值的 。

至于有没有其他的问题,有,有33个;ASCII 0-31 和 127 通常都被认为是通常不可打印的“控制字符”。

于 2012-08-30T14:15:32.260 回答
3

它是ASCII “移出”控制字符,不可打印。

与 SHIFT IN 和 ESCAPE 结合使用的控制字符,用于扩展代码的图形字符集。它可能会改变八位字节 33 - 126(dec.)的含义。国际标准 ISO 2022 中描述了使用代码扩展技术时此字符的效果。

于 2012-08-30T14:16:01.380 回答