为什么 Hex() 函数返回字符串而不是 int 十六进制?

2024-03-03

我不知道为什么 Hex 函数返回像“0x41”这样的字符串而不是 0x41

我需要将 ASCII 值转换为十六进制。但我想要 0x INT 格式,而不是“0x”字符串。

ascii = 360
hexstring = hex(ascii)
hexstring += 0x41  # i cant do this because hexstring is a string not a int hex

我如何获得十六进制整数? 谢谢


没有 int 十六进制对象。只有一个替代语法创建整数:

>>> 0x41
65

你本来可以用0o1010也获得相同的值。或者使用0b1000001以二进制形式指定;他们都是完全相同的数值到Python;它们只是在代码中指定整数值的不同形式。

只需保留ascii作为整数并将十六进制表示法值与:

>>> ascii = 360
>>> ascii += 0x41
>>> ascii
425

hex()生成一个可由 Python 程序以相同方式解释的字符串,通常在调试代码或快速演示输出时使用(但您应该使用format(number, 'x')如果您想在没有0x字首)。不需要使用整数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Hex() 函数返回字符串而不是 int 十六进制? 的相关文章

随机推荐