1

在我的小型 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会这样翻译它,以及,它应该如何真正编码?

4

1 回答 1

2

这与 Android 或 NFC 无关,这就是 Java 的工作方式。byte是有符号的,这意味着其中一位用作符号。0xff=11111111,这恰好意味着 Java 的 -1。不过,您的 MIFARE 卡并不关心这一点,因此您的程序应该可以正常工作。

于 2012-10-12T09:00:22.763 回答