可能重复:
Literal Syntax For byte[] arrays using Hex notation..?
我正在尝试创建一个大小为'1'的字节数组,用于保存字节0x0
。在Java中,我可以这样做:
byte[] space = new byte[1];
space[0] = 0x0;
将十六进制值0x0
转换为00000000
的字节代表并将其存储在space[0]
中吗?
答案 0 :(得分:6)
将十六进制值0x0转换为其字节代表00000000并将其存储在空格[0]中吗?
在执行程序中,只有一个Java byte
值为零的表示 - 整数零的8位2的补码表示--8个零位。
您是否将源代码中的数字文字表示为0
(十进制)或00
(八进制)或0x0
没有任何区别。他们所有意味着完全相同。
所以 - 是的,您的代码符合您的期望。
更简单的一行版本是:
byte[] space = new byte[] {0};
或
byte[] space = {0};
甚至
byte[] space = new byte[1];
(最后一个依赖于Java字节数组默认初始化为全零的事实。)
答案 1 :(得分:1)
是的,这将完全符合你的想法。另请参阅此related question。