我使用nfc阅读器,我能够获得标签的唯一ID。当我读取标签时,id 的调用方式如下:
编号: [ -52, 22, -61, -67, 80, 1, 4, -32, [长度]: 8 ]
如何获得十六进制?它应该被称为CC:16:C3:BD:50:01:04:E0。这也是我拥有数据库条目的方式。所以我取回 id 的方式对我来说毫无用处。
我将不胜感激任何有用的答案。提前谢谢你。
字节的范围是 -128 到 127
例如,对于爪哇 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
"byte:字节数据类型是 8 位有符号二进制的补码整数。它的最小值为 -128,最大值为 127(含(。
您只需要将其转换为显示为十六进制字符串即可。
通常根据 ISO/IEC 14443-3,UID 是一个 7 字节的数字,字节 4 是校验字节的一部分
我不知道如何在 Nativescript 中将字节转换为字符串,但在 Java 中你可以做到
StringBuilder Uid = new StringBuilder();
for (int i = 0; i < result.length; i++) {
// byte 4 is a check byte
if (i == 3) continue;
Uid.append(String.format("%02X ", result[i]));
}
虽然跳过校验字节并不完全需要为您提供唯一 ID,但此代码可以做到这一点。
对于 JavaScript 如何将十六进制字符串转换为字节数组,以及十六进制字符串中的字节数组? 应该通过类似的迭代来提供答案,将每个字节转换为十六进制字符串的数组