如何在Java中发送大于127的字节daha?

时间:2015-08-09 19:05:31

标签: java byte

我正在使用Java开发RFID阅读器应用程序。 RFID阅读器的消息类型必须以0xA0开头。这是强制性的。它以十进制形式表示为160。但是在java中,字节值不能大于127.

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

只需发送(byte) 0xa0即可。是的,作为Java byte它将是负面的,但它仍然具有正确的模式,这是RFID将关注的所有模式。

基本上,您很少需要将字节视为数字 - 通常将它们视为位序列,这恰好映射到数字。

例如,假设您有一个由单个字节组成的文件,其中包含11111111位。如果您在Java中读取数据,那么您将得到-1的字节。如果您在C#中读取数据,那么您将获得255的字节。它是相同的数据,只是以稍微不同的方式查看。

答案 1 :(得分:1)

你可以把0xA0放在一个字节中,如果算术的话,它只会被视为负数。如果你不做算术,一切都会好的。

答案 2 :(得分:0)

数据是数据。在java中,值为0xA0的字节将是负数,但具有相同值的int将是正值...它都是关于解释的。

您可以将字节0xA0写入/放入您的流/字节[]并且它不应该是一个问题