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