我是Python的新手,我正尝试通过PyUSB从USB设备读取一些值。好了,它现在可以工作了,但我遇到了一些麻烦:从设备读取数据时,PyUSB需要一个端点来读取数据。该端点通过十六进制值标识。如果我读取类似...的数据 通用标签

...我收到一个错误“ AttributeError:'NoneType'对象没有属性'bmAttributes'”。如果我读取类似...的数据 通用标签

...有效。

所以我的简单问题是:0x81和'\ x81'有什么区别?

:-)

有帮助吗?

解决方案

在Python 2.x中,'\x81'是一个字节串,由一个值129的单个字节组成。您也可以通过调用chr(129)来获取它。

0x81是一个以16为底的整数,值129。您也可以通过简单地编写129来获得它。

其他提示

\ x81对应一个unicode字符,其十六进制代码为81,0x81是有效的十六进制值。

第一个是具有特定十六进制值的字符串,该字符串被强制插入第一个字符位置,第二个是整数。

显然,API调用肯定需要一个整数。

0x81正在发送要求的十六进制数字,而'\ x81'正在发送字符串。这就是为什么第二个有效的原因,希望对您有所帮助,并且实际上就是您要问的:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top