2016-09-12 4 views
0

私はTCPソケット上のデータを聴いているいくつかの簡単なコードがあります。socket.recv()のデータは、 xと印刷可能なASCIIの混在として印刷されます。

data = client_socket.recv(4096) 
    print("RECEIVED:",data) 

をそれは素晴らしい作品が、出力は次のようになります。上の

RECEIVED: b'\xd8\xff\xfe\x00$\xe3J\xda*\x00 

ので。私が欲しいもの

D8 FF FE 00 24 E3 4A DA 2A 00 

私の最終目標は、ストレートのファイルに生のバイトを置くことであるように、単なる生の六角ですが、私はそれらを最初に印刷したいです。私が望むようにそれらを印刷するにはどうすればいいのですか?たぶん私はそれをファイルに入れるために 'データ'を操作する必要はないでしょうか?

ありがとうございました!

答えて

0
import binascii 
binascii.hexlify('\xd8\xff\xfe\x00$\xe3J\xda*\x00').upper() 

...あなたの返信用

+0

おかげで道のほとんどを取得!どのように私はそれをデータ変数とインラインで動作させることができますか?私はprint( "RECEIVED:"、binascii.hexlify(data).upper())しようとしましたが、クラッシュしました... DUHは気にせず、binasciiをインポートするのを忘れました。これはすごくうまくいって、すぐに解決策として受け入れました。 –

+0

あなたはそれが墜落したという意味ですか? http://ideone.com/FySVHZ –

+0

出力をバイトで分けてくれますか? "d8fffe00"の代わりに "ffd800fe"が必要 –

関連する問題