RFID唯一序列号转换
RFID Unique serial number conversion
我的 USB-RFID reader 从卡中接收到一个 24 位 ID。我可以把这个ID转换成8bit/16bit的格式。但是我怎样才能将它转换成 40 位格式呢?
一个标签的示例:
- 24 位十进制格式(正如我从 reader 得到的):0005966009
- 8,16位二进制格式(通过Python转换):01011011, 0000100010111001
- 8,16位十进制格式(通过Python转换):91、2233
- 40位十进制格式(厂家提供):455272499385
如何从 24 位数字中得到 40 位数字?
标签标准:唯一,125 kHz
厂商系统截图:
不,一般来说,不可能将 24 位数字变成 40 位数字。这种转换意味着您将 16 位 额外信息 添加到 24 位值。这些额外的信息不会凭空出现。
在你的例子中,数字是
- 24 位格式:0005966009dec =
5B08B9<sub>hex</sub>
- 8+16 位格式:091dec & 02233dec =
5B<sub>hex</sub>
& 08B9<sub>hex</sub>
- 40位格式:455272499385dec =
<b>6A00</b>5B08B9<sub>hex</sub>
因此,所有三个数字都包含 24 个公共位 (5B08B9<sub>hex</sub>
)。 40位数字多了一个前缀值<b>6A00</b><sub>hex</sub>
.
由于您没有透露您使用的是什么 RFID 系统和标签(除了它们在 125 khz 上运行),因此无法判断该前缀是对所有标签都相同的标准前缀还是如果每个标签(或每个制造商、客户等)的前缀都发生变化
如果所有标签的前缀都相同,您可以轻松使用值 6A00<sub>hex</sub>
作为每个标签序列号。但是,如果不同标签的前缀可能不同,那么除了获得读取完整 40 位序列号的 reader 之外别无他法。
然而,如果您所有的 reader 只读取 24 位值,我不明白您为什么要使用整个 40 位值。即使您已经拥有包含整个 40 位值的数据库,您也可以轻松地 trim 该值到 24 位值(只要较低的 24 位在所有标签中(足够)唯一)。
我的 USB-RFID reader 从卡中接收到一个 24 位 ID。我可以把这个ID转换成8bit/16bit的格式。但是我怎样才能将它转换成 40 位格式呢?
一个标签的示例:
- 24 位十进制格式(正如我从 reader 得到的):0005966009
- 8,16位二进制格式(通过Python转换):01011011, 0000100010111001
- 8,16位十进制格式(通过Python转换):91、2233
- 40位十进制格式(厂家提供):455272499385
如何从 24 位数字中得到 40 位数字?
标签标准:唯一,125 kHz
厂商系统截图:
不,一般来说,不可能将 24 位数字变成 40 位数字。这种转换意味着您将 16 位 额外信息 添加到 24 位值。这些额外的信息不会凭空出现。
在你的例子中,数字是
- 24 位格式:0005966009dec =
5B08B9<sub>hex</sub>
- 8+16 位格式:091dec & 02233dec =
5B<sub>hex</sub>
&08B9<sub>hex</sub>
- 40位格式:455272499385dec =
<b>6A00</b>5B08B9<sub>hex</sub>
因此,所有三个数字都包含 24 个公共位 (5B08B9<sub>hex</sub>
)。 40位数字多了一个前缀值<b>6A00</b><sub>hex</sub>
.
由于您没有透露您使用的是什么 RFID 系统和标签(除了它们在 125 khz 上运行),因此无法判断该前缀是对所有标签都相同的标准前缀还是如果每个标签(或每个制造商、客户等)的前缀都发生变化
如果所有标签的前缀都相同,您可以轻松使用值 6A00<sub>hex</sub>
作为每个标签序列号。但是,如果不同标签的前缀可能不同,那么除了获得读取完整 40 位序列号的 reader 之外别无他法。
然而,如果您所有的 reader 只读取 24 位值,我不明白您为什么要使用整个 40 位值。即使您已经拥有包含整个 40 位值的数据库,您也可以轻松地 trim 该值到 24 位值(只要较低的 24 位在所有标签中(足够)唯一)。