将tdata帧发送到套接字

时间:2016-06-14 14:09:10

标签: java android byte frame

byte [] demande = new byte [2]; 我们假设demande是一个将被发送到套接字的数据帧。 如果我想发送200,应该是byte [0]和byte [1]应该是什么。我尝试写byte [0] = 1和byte [1] = - 56(1 * 256 - 56)= 200但它不工作。我该怎么办?

2 个答案:

答案 0 :(得分:1)

我假设数字200是十进制值。 当200小于255时,它将适合一个字节,因为200的十六进制值是0xC8。

所以在你的情况下你有两个选择。哪一个是正确的取决于您使用的协议。

无论

byte[] demande = { 0x00, 0xC8 };  // little endian

byte[] demande = { 0xC8, 0x00 };  // big endian

或者如果您愿意

byte[] demande = new byte[2];
demande[0] = 0x00;
demande[1] = 0xC8;

(小端)

答案 1 :(得分:1)

您可以使用ByteBuffer类来创建字节数组。如果要将整数200转换为字节数组:

ByteBuffer b = ByteBuffer.allocate(2);
b.putInt(0x000000c8);

byte[] result = b.array();