0

問題が発生しています。次のプログラムは実行時にビープ音を鳴らしますが、これは私がプログラムしたものではありません。ラップトップで Windows 7 を実行していますが、なぜこれが起こるのか疑問に思っていました。

私のコードは、基本的に単純で小さな暗号化プログラムです。まだASCII範囲外のものを処理することはできませんが、それはこの質問の範囲外です.

最後に、なぜビープ音が鳴るのか知りたいのですが?(注: これはクラスからのものであるため、 self が含まれています。)

def encrypt(self,message,private_key):
    import random
    self.message=str(message)
    self.private_key=int(private_key)
    self.public_key=""
    self.final_message=""
    self.errors=[]
    for letter in str(self.message):
        y=random.randrange(0,ord(letter))
        a=y+self.private_key
        x=ord(str(letter))^a
        if x in range(0,256):
            z=chr(x)
            self.final_message=self.final_message+str(z)
            self.public_key=self.public_key+str(chr(y))
        else:
            char="Letter: "+str(letter)+", ASCII value unabled to be processed: "+str(x)+" using keys: "+"Private key: "+str(self.private_key)+" Random Key: "+str(y)
            self.errors.append(char)
    print "Message: "+str(self.message)
    print
    print "Length of Message: "+"["+str(len(str(self.message)))+"]"
    print
    print "Final Message: "+"["+str(self.final_message)+"] "+"length of message: "+str(len(str(self.final_message)))
    print
    print "Public Key: "+"["+str(self.public_key)+"] "+"length of key: "+str(len(str(self.public_key)))
    print
    print "Private Key:"+"["+str(self.private_key)+"]"
    if len(self.errors)!=0:
        print "errors: "
        print
        for error in self.errors:
            print error
            print
4

2 に答える 2

4

http://en.wikipedia.org/wiki/Bell_character

ascii 7 が原因です。base64 またはその他の印刷可能なサブセットへのエンコードを検討してください。

于 2012-04-23T16:27:57.180 に答える
0

いつでも ASCII コード 7 を印刷している場合は、コンソール/端末でビープ音を鳴らすことができます。

それを試してみてください:

>>> print chr(7)
于 2012-04-23T16:31:07.697 に答える