我正在通过USB从ADC读取8位值到我的计算机。python脚本在我的计算机上运行,并连续显示8位值,这些值是十六进制形式的。但是,当十六进制代码对应于ASCII代码时,python将显示ASCII字符而不是原始十六进制代码。
我需要对传入的数据执行什么操作才能仅显示由8位表示的整数?我不想用十六进制或ASCII。问题是这些值是用斜线而不是熟悉的零来表示的:'\xff'而不是'0xff'。如果我去:
int('0xff',16)
结果是255,但如果我试着
int('\xff',16)
我得到一个错误:以16为基数的int()的文本无效。
有人知道处理十六进制代码中的\x的简单方法吗(不需要对字符串进行暴力操作)?
应该给你想要的
\x##
表示一个字节或字符(如果您愿意的话),而"FF"
是一个由两个字符组成的字符串,然后可以用int(my_string,16)
进行处理,但是当您有一个字符时,您可能需要ord
你可以通过询问类似于
len('\xFF')
的内容来看到这一点,你会发现它只是一个字符相关问题 更多 >
编程相关推荐