如何简单地将python打印"\ xaa\xbb\xcc\xdd"作为0xddccbbaa?

use*_*254 6 python hex

我相信我误解了应该简单的事情.

我正在尝试接受传递给python脚本的参数.我期待的论证类型是在某个地方"\xaa\xbb\xcc\xdd",并且它一直将它转换为二进制(我认为?)而不是实际上允许我将它打印出来的方式.

我怎样才能做到这一点我正在寻找它呢?我最终想要把它转换成类似的东西0xddccbbaa,但我想我至少想通过能够解释它来完成第一步.

就像,我不想打印\x75打印出来u.我希望能够解释\x75\x75.有什么简单的方法吗?

roi*_*ppi 8

一些示威struct:

x = b"\xaa\xbb\xcc\xdd"

import struct

struct.unpack('I',x)
Out[3]: (3721182122,)

y = struct.unpack('I',x)

y[0]
Out[5]: 3721182122

hex(y[0])
Out[6]: '0xddccbbaa'
Run Code Online (Sandbox Code Playgroud)

本质上:将bytestring视为little-endian 4字节无符号整数('I'). struct处理把它变成一个int,你可以用它hex来获取十六进制的字符串表示(或者使用类似的东西'{:x}'.format(y[0]),如果你愿意的话)