在市面上買了兩台讀卡機,發現讀取出來的卡號不一樣。
經過研究後發現主流有 8H10D 和 4H4H10D 兩種編碼。
舉例來說,我們讀卡機讀到的格式為 8H10D 是 1106668707,轉換為 4H4H10D 時會是 16886:27811。兩者的差異在於後者是兩組五個數字組成,前者則是一串 10 個數字。
換算 8H10D 為 4H4H10D 的方法如下:
- 使用 DEC2HEX 將數字從十進位轉換為十六進位
- 取前四位再轉回十進位作為第一組數字
- 取後四位再轉回十進位作為第二組數字
範例:
- 1106668707 轉換為十六進位是 41F66CA3
- 前四位 41F6 轉回十進位為 16886
- 後四位 6CA3 轉回十進位為 27811
- 得到 16886:27811
逆計算範例:
- 16886 轉回十六進位為 41F6
- 27811 轉回十六進位為 6CA3
- 得到 41F66CA3
- 41F66CA3 轉回十進位為 1106668707
Excel 公式範例:
- =DEC2HEX(1106668707)
- =HEX2DEC(LEFT(1106668707, 4))
- =HEX2DEC(MID(1106668707, 5, 4))