作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我相信我误解了一些应该很简单的事情。
我正在尝试接受传递给 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'
本质上:将字节串视为小端 4 字节无符号整数 ('I'
)。 struct
将其转换为 int
,您可以使用 hex
获取它的十六进制字符串表示形式(或使用类似 >'{:x}'.format(y[0])
,如果你愿意的话)
关于python - 如何简单地让 python 将 "\xaa\xbb\xcc\xdd"打印为 0xddccbbaa?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039054/
我是一名优秀的程序员,十分优秀!