将十六进制符号逐字转换为字符串或反之亦然

2024-10-02 16:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写的函数获取一个校验和(格式:'*76')作为一个字符串(与NMEA字符串隔离)。字符串格式的校验和称为“Obs”(从字符串观察)。然后它从字符串的其余部分计算校验和,并以十六进制(Terminal:0x76)的形式得到答案,这将被称为“Com”(从字符串计算)。现在我需要把一个转换成另一个来比较它们。在

我试过这样的东西:

HexObs = hex(Obs) #with Obs as '0x76' and '0*76'

这给了我一个错误。在

以及

^{pr2}$

结果是“118”

以前的问题中我没有意识到我的问题。 有人知道如何把一个转换成另一个吗?Tnx提前。在


Tags: and函数字符串答案comas格式with
2条回答

要从字符串十六进制表示法转换,请使用:

>>> int('0x76', 16)
118

第二个论点是基础。在

要从整数转换为字符串十六进制表示,请使用:

^{pr2}$

我想你的问题是把原稿变成一个真正的十六进制格式

tobs = '76'
obs = hex(int('0x' + tobs, 16))

这将给你一个实际的十六进制值进行比较

或者,您可以使用:

^{pr2}$

然后比较tobs&tcom

相关问题 更多 >