2016-03-02 105 views
0

我不知道为什么六角函数返回像“×41”,而不是0×41为什么Hex()函数返回一个字符串而不是int hex?

enter image description here

我需要的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? 谢谢

回答

6

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

>>> 0x41 
65 

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

只需保持ascii为一个整数,总结十六进制符号的值与该:

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

hex()生成可由Python程序中相同的方式来解释的字符串,和调试代码时,通常使用或快速演示文稿输出(但如果您想生成最终用户输出而不使用0x前缀,则应使用format(number, 'x'))。不需要使用整数。

+0

非常感谢! :) 这解决了我的问题 – Darcyys

相关问题