android字节数组缩短了数字?

时间:2012-10-12 08:41:12

标签: android byte nfc mifare

在我的小型NFC相关项目中,我正在尝试设置一个byte []作为我正在使用的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 个答案:

答案 0 :(得分:2)

这与Android或NFC无关,这就是Java的工作原理。 byte已签名,这意味着其中一个位用作符号。 0xff=11111111,对于Java来说恰好是-1。你的MIFARE卡并不关心这个,所以你的程序应该可以正常工作。