pythonのドキュメントによると、pythonのsocket recv()メソッドは 'byte'型の配列を返します。あなたはこの配列をプリントアウトした場合soc.recvは正確に何を返しますか?
はしかし、バイトのように見えないものも表示されます。
\xd9\x01\x01\xa4\xe9\xcbV6\x15\xed|>g5\xfa\xbd\xe9Q\[email protected]\x18\xff\
はPythonのバイトオブジェクトはいくつかの内部エラー報告か何かを持っていますか?実際のバイトが返されていないように見えるこれらのバイトオブジェクトは何ですか?
いくつかのより多くの奇妙な例:
\x00w\xd4\x04;\x9c\x0b}>P]\xa4\xbd\xa5n:9x\xe3>9\xd2/~8\
\x01\x01\x1b ,Y\x00\x00\x00\x00\x00\xf4
\xa0A\n\xd7tB}\xed,\xc0\x00\
したがって、ASCIIエンコーディング内にない場合でも、バイトオブジェクト自体(印刷されていない)は適切な値を持ちますが、正しいですか? – user1519665
はい、値がASCIIで印刷可能でない場合は、単に16進値 '\ x'を返します。 Wiresharkのようなもので実際にワイヤーを通過するものを見ると、値はあなたが期待しているものであることがわかります。これは、単にpythonがこれらをどのように出力するかの人工物に過ぎません。 – shuttle87
申し訳ありません、ありがとうございます。うまくいけば、ロジックの残りの部分は正しく動作します。 – user1519665