来自socket.recv()的数据打印为\ x和可打印ASCII的混合,如何强制原始十六进制?

时间:2016-09-12 17:52:27

标签: python tcp

我有一些简单的代码正在侦听TCP套接字上的数据:

    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

我的最终目标是将原始字节直接放入文件中,但我确实想先打印它们。如何按照我的意愿打印它们,如何将它们放入文件中?也许我甚至不需要操纵'数据'把它放在一个文件中?

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

让你大部分时间......