我不知道为什么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 hex? 感谢
答案 0 :(得分:7)
没有int hex对象。只有替代语法来创建整数:
>>> 0x41
65
您也可以使用0o1010
来获得相同的值。或者使用0b1000001
以二进制形式指定它;它们都是与Python完全相同的数值;它们只是在代码中指定整数值的不同形式。
只需将ascii
保留为整数,并将十六进制表示法值与其相加:
>>> ascii = 360
>>> ascii += 0x41
>>> ascii
425
hex()
生成一个可以由Python程序以相同方式解释的字符串,通常在调试代码或快速演示输出时使用(但如果要生成,则应使用format(number, 'x')
没有0x
前缀的最终用户输出。不需要使用整数。