android字节数组正在缩短数字?

标签 android byte nfc mifare

在我与 NFC 相关的小项目中,我试图将一个 byte[] 设置为我正在使用的 Mifare Classic 1k 芯片的身份验证 key 。什么时候这样设置:

private byte[] key = {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff};

它最终变成了 -1 -1 -1 -1 -1 -1... 为什么 Android 会这样翻译它,它应该如何编码?

最佳答案

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

关于android字节数组正在缩短数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855272/

相关文章:

安卓 NFC : copy card into device

android - 使用 Android 库项目时,如何正确引用 xml 资源?

android datepickerDialog 不应该接受 future 的日期

c++ - 在 C++ 中将 8 字节数组转换为有符号长整数

python - 将 bytearray 从 VARBINARY(16) 列转换为 IP 地址

安卓 NFC : can we use intent filter with mime type? (安卓 2.3.3)

android - Android 上的 NFC、标签和消息兼容性

android - 在 android 中使用 NDK 时崩溃,但 Firebase 不显示详细日志

java - 从android应用程序登录到网站以检索和解析信息

Python 3 将整数正确转换为字节 :