在Python中将十六进制转换为整数

2024-05-15 20:43:59 发布

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

我正在通过USB从ADC读取8位值到我的计算机。python脚本在我的计算机上运行,并连续显示8位值,这些值是十六进制形式的。但是,当十六进制代码对应于ASCII代码时,python将显示ASCII字符而不是原始十六进制代码。

我需要对传入的数据执行什么操作才能仅显示由8位表示的整数?我不想用十六进制或ASCII。问题是这些值是用斜线而不是熟悉的零来表示的:'\xff'而不是'0xff'。如果我去:

int('0xff',16)

结果是255,但如果我试着

int('\xff',16)

我得到一个错误:以16为基数的int()的文本无效。

有人知道处理十六进制代码中的\x的简单方法吗(不需要对字符串进行暴力操作)?


Tags: 数据代码脚本计算机错误ascii整数字符
1条回答
网友
1楼 · 发布于 2024-05-15 20:43:59
ord('\xff')

应该给你想要的

\x##表示一个字节或字符(如果您愿意的话),而"FF"是一个由两个字符组成的字符串,然后可以用int(my_string,16)进行处理,但是当您有一个字符时,您可能需要ord

你可以通过询问类似于len('\xFF')的内容来看到这一点,你会发现它只是一个字符

相关问题 更多 >