我的USB-RFID阅读器从卡上接收24位ID。我可以将此ID转换为8位/ 16位格式。但是如何将其转换为40位格式?
一个标签的示例:
如何从24位数字中获取该40位数?
标签标准:唯一,125 kHz
制造商系统的屏幕截图:
答案 0 :(得分:2)
不,一般情况下,将24位数字转换为40位数字是不可能的。这样的转换意味着您将16位额外信息添加到24位值。这些额外的信息不会神奇地突然冒出来。
在您的情况下,数字是
5B08B9hex
5Bhex
& 08B9hex
6A005B08B9hex
因此,所有三个数字都包含24个公共位(5B08B9hex
)。 40位数字的附加前缀值为6A00hex
。
由于您没有透露RFID系统和您正在使用的标签(除了它们以125 khz运行之外),因此无法判断该前缀是否是一个标准前缀,对于所有人来说都是相同的标签或每个标签(或每个制造商,客户等)的前缀是否发生变化
如果所有标记的前缀相同,则可以轻松地使用值6A00hex
作为每个标记序列号的高16位。但是,如果不同标签的前缀可能不同,那么除了让读取器读取完整的40位序列号之外别无他法。
然而,如果所有读者只读取24位值,我就不明白为什么你甚至想要使用整个40位值。即使您已经拥有一个包含整个40位值的数据库,您也可以轻松地将该值修剪为24位值(只要较低的24位在所有标记中都是(足够)唯一的)。