【发布时间】:2020-06-25 23:46:52
【问题描述】:
我有一个来自 com 端口的原始十六进制值,我想将其表示为一个十六进制值,以后可以将其用于按位运算。
例如,我有 1035,我希望它为 0x1035。
我比较确定 hex() 函数不是我想要的。这会将 int(1035) 转换为十六进制 40B。
我尝试将“0x”连接到我的值,我发现的问题是它是类型 str,我不能按位 &、| 等。将其转换为 int 会导致: 基数为 10 的 int() 的无效文字:'0x1035'
我尝试将十六进制转换为二进制,但问题与之前的 str 类型而不是 int 类型相同。
例如,当我定义 hex = 0x1035 时,生活变得更加轻松。但我希望它可以重复用于来自 com 端口的许多消息。
如何将字符串“0x1035”转换为十六进制整数?或者,我如何告诉解释器我拥有的 int 1035,我想解释为十六进制 0x1035?
【问题讨论】:
-
这能回答你的问题吗? Convert hex to binary
-
到底是什么问题?你有没有尝试过,做过任何研究? Stack Overflow 不是免费的代码编写服务。请参阅:How to Ask、help center、meta.stackoverflow.com/questions/261592/…。