我在字节计算等方面不成熟...我的应用程序要求我以字节的形式通过套接字发送一些数据......
1st byte -> [ { ]
2nd byte -> [ { ]
3rd byte -> [ 0xD1 ]
4th byte -> [ 0x00 ]
5th byte -> [sum of first,second and third hex value]
6th byte -> [ } ]
7th byte -> [ } ]
这是一个样本 我怎么能执行这样一个操作,在每个字节中分配十六进制值,将这些字节存储在一个数组中..我有点困惑这个...有人可以帮助我吗???
答案 0 :(得分:1)
Hex只是字节值的表示法。使用普通+
将它们添加到一起。
答案 1 :(得分:1)
由于某种原因,人们常常将数字的表示与数字的值混淆。您要添加的值不是十六进制或十进制或二进制。他们只是数字。一个字节是一个字节。你可以用+添加两个字节,并没有什么神奇之处。无论您将结果显示为十六进制或十进制还是其他任何内容,它的工作方式都相同:
示例:
0x2A (42)
+ 0x13 (19)
= 0x3D (61)
答案 2 :(得分:0)
你可以构建像:
这样的字节数组 byte[] data = new byte[7];
data[0] = "{".getBytes()[0];
data[1] = "{".getBytes()[0];
data[2] = (byte) 0xd1;
data[3] = (byte) 0x00;
data[4] = (byte) 0xd1 + 0x00;
data[5] = "}".getBytes()[0];
data[6] = "}".getBytes()[0];