2

Pythonを使用して暗号化システムを構築しようとしています。これは、第二次世界大戦でドイツが使用したローレンツ暗号機に基づいていますが、はるかに複雑です (元の 5 ビットと 12 ローターと比較して、7 ビット ascii 暗号化と 30 ローター)。

これまでのところ、ステッピング システムを作成して作成しました。また、平文を切り刻むためのシステムも作成しました。しかし、出力をチェックするとき、文字ごとに(暗号文をつなぎ合わせないことにより)こんにちはのためにこれを得ました:

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

これはASCIIの特殊文字に違いないことに気づきました'\x0e'が、プログラムが復号化するときに、その中の各文字を個別に調べると確信しています。'\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 に答える