在python中将hex转换为int

时间:2013-11-06 18:28:19

标签: python hex ascii

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

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

int('0xff',16)

结果是255,但如果我尝试

int('\xff',16)

我收到一个错误:对于带有基数为16的int(),文字无效。

有没有人知道一种简单的方法来处理十六进制代码中的\ x(不使用字符串的强力操作)?

1 个答案:

答案 0 :(得分:27)

ord('\xff')

应该给你你想要的东西

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

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