将十六进制字符串转换为六角整数

时间:2015-09-18 21:46:52

标签: python

我在将这样的十六进制字符串转换为十六进制整数而不会丢失零并转换为整数时遇到问题。

我需要精确的十六进制整数来查找USB设备。十六进制整数对应于供应商和产品ID。

我使用以下代码查找设备:

0x187c

问题是我需要从图形界面输入这些数字。但是,一旦用户输入它们,我就会将它们作为字符串返回,dev = usb.core.find(idVendor=0x187c, idProduct=0x0521)模块找不到该设备。

usb.core

有没有办法检索适用于>>> type(0x187c) <type 'int'> >>> type("0x187c") <type 'str'> >>> type(hex(int("0x187c",16))) <type 'str'> 的这个值?

1 个答案:

答案 0 :(得分:1)

没有&#34;十六进制整数&#34;。整数是整数。如果它最初是用十六进制,八进制,二进制或十进制编写的,那么它对您的计算机来说并不重要。

dev = usb.core.find(idVendor=int(vendor, 16), idProduct=int(product, 16))

只会起作用。