我有这个 Mifare 14 字节 UID:“04502E22D45380”,我需要转换为 5 字节十六进制:“63AE03D0AA”。
我已经尝试了网上的各种转换和建议,但一直无法转换:
尝试从未知类型中取出每个半字节并反转每个半字节的位(最低有效位变为最高有效位,第二位变为倒数第二位)。
没有给出有用的结果。
尝试将 0450 (0x4 50) 拿走并尝试相同的操作,以及许多十六进制到二进制、十六进制...以及唯一序列号:
但我已经没有主意了。未知编号RFID扫描仪的供应商也无能为力。他们说:
恐怕这很难。这可能是 4 字节与 7 字节 ID 的问题,但是当我假设我们使用 4 且客户使用 7 字节 ID 时,我对此进行异或。我没有得到预期的结果。
所以我想也许你们中的一些人可以提供帮助。
这是我的尝试,请检查打印结果是否正常?
import binascii
mifareUidpassed = "04502E22D45380" #<-- pass other uid if you want
unHexifi=binascii.unhexlify(mifareUidpassed)[:5]
convUid = binascii.hexlify(unHexifi).decode()
print("check this HexFied result here-->"+convUid)
这里我使用了
binascii
库,您可以在此处阅读有关其文档的更多信息 binascii.html