我有一些Perl代码,其中hex()函数将十六进制数据转换为十进制。在Python上如何实现?
我在Perl中有hex()函数,它可以将十六进制数据转换为十进制数。那么在Python中如何实现呢?"hex data"
的字符串,s = "6a48f82d8e828ce82b82"
你可以使用
i = int(s, 16)
将其转换为整数并
str(i)
将其转换为十进制字符串。
int(bin(int(hex(42), 16)), 2)
- arcolifeint()
没有意义 - 这就像写 int(255)
一样 - 你可以直接写 0xff
。 - jbg>>> ast.literal_eval('0xdeadbeef')
3735928559
或者将基数作为参数指定给int
函数:
>>> int('deadbeef', 16)
3735928559
一个不太为人知的技巧,如果你在int
中指定基数为0
,那么Python将尝试从字符串前缀确定基数:
>>> int("0xff", 0)
255
>>> int("0o644", 0)
420
>>> int("0b100", 0)
4
>>> int("100", 0)
100
hex
将十六进制字符串转换为整数值(该值在内部以二进制形式存储,但本质上只是一个没有基数的数值)。对print
的调用将该值转换为十进制字符串并打印出来。 - Borodin