【发布时间】:2014-04-23 19:36:53
【问题描述】:
我正在寻找与 outputStream.write() 做同样事情但会接受 int 数组的东西。
实际上,我正在使用这个:outputStream.write(),但这个只接受 byte,byte[] 或 int。
我可以使用byte[],但我要发送的值是
[255,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255]
所以我可以使用byte[],因为范围仅来自-127 to 127:/
在Port_Com上发送一个命令,它只接受19字节的数据包,并且必须以255开头和结尾。
【问题讨论】:
-
如果你所有的值都在 0-255 范围内,你应该使用
byte[]代替。将每个int转换为byte,您仍然可以在电线上得到正确的位。 -
是的,我确定。这是相同的位,只是以不同的方式解释。
-
@D3fman 是的,但是 0 和 1 是相同的,255 是 1111 1111,用有符号的说法是 -1,我同意,尽管这是让我鄙视 Java 的众多事情之一。无符号整数ftw!
-
正如我所说,我讨厌 Java,你.... 一个 int 转换会将其转换为负 1 ..... @JonSkeet 答案?
-
@D3fman 它不会发送 255 但会发送 1111 1111 位,这就是你想要的
标签: java arrays int byte outputstream