为啥 Hex() 函数返回一个字符串而不是一个 int hex?

Posted

技术标签:

【中文标题】为啥 Hex() 函数返回一个字符串而不是一个 int hex?【英文标题】: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? 谢谢

【问题讨论】:

【参考方案1】:

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

>>> 0x41
65

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

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

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

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

【讨论】:

以上是关于为啥 Hex() 函数返回一个字符串而不是一个 int hex?的主要内容,如果未能解决你的问题,请参考以下文章

Python标准库 内置函数hex x

为啥我的 decipher.update 返回一个函数而不是解密的文本?节点JS

当返回类型是表名时,为啥 PostgreSQL 函数返回空列而不是没有行?

为啥我的异步函数返回 Promise <pending> 而不是一个值?

为啥 Spring Boot 返回一个字符串而不是 JSON

在渲染期间,为啥要在 React.createElement 中包装一个函数式组件,而不是通过函数调用来使用它返回的元素呢?