Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的小型 NFC 相关项目中,我试图设置一个字节 [] 作为我正在使用的 Mifare Classic 1k 芯片的身份验证密钥。什么时候设置成这样:
private byte[] key = {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff};
它最终是-1 -1 -1 -1 -1 -1......为什么Android会这样翻译它,以及,它应该如何真正编码?
-1 -1 -1 -1 -1 -1
这与 Android 或 NFC 无关,这就是 Java 的工作方式。byte是有符号的,这意味着其中一位用作符号。0xff=11111111,这恰好意味着 Java 的 -1。不过,您的 MIFARE 卡并不关心这一点,因此您的程序应该可以正常工作。
byte
0xff=11111111