【问题标题】:Why Does Hex() Function returns a string instead an int hex?为什么 Hex() 函数返回一个字符串而不是一个 int hex?
【发布时间】:2016-06-15 12:02:42
【问题描述】:

我不知道为什么 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? 谢谢

【问题讨论】:

    标签: python string int hex ascii


    【解决方案1】:

    没有 int hex 对象。只有替代语法可以创建整数:

    >>> 0x41
    65
    

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

    只需将ascii 保留为整数,然后将您的十六进制值相加即可:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 2017-09-19
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      相关资源
      最近更新 更多