我相信我误解了应该简单的事情.
我正在尝试接受传递给python脚本的参数.我期待的论证类型是在某个地方"\xaa\xbb\xcc\xdd",并且它一直将它转换为二进制(我认为?)而不是实际上允许我将它打印出来的方式.
我怎样才能做到这一点我正在寻找它呢?我最终想要把它转换成类似的东西0xddccbbaa,但我想我至少想通过能够解释它来完成第一步.
就像,我不想打印\x75打印出来u.我希望能够解释\x75为\x75.有什么简单的方法吗?
一些示威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]),如果你愿意的话)