如何为字节数组赋值

时间:2011-09-10 11:20:28

标签: java bytearray

byte abc[]="204.29.207.217";

这是一个错误。请告诉我纠正方法。

3 个答案:

答案 0 :(得分:27)

如果您尝试分配硬编码值,可以使用:

byte[] bytes = { (byte) 204, 29, (byte) 207, (byte) 217 };

注意转换,因为Java字节是签名的 - 这里的转换基本上会强制溢出为负值,这可能是你想要的。

如果您实际尝试解析字符串,则需要这样做 - 将字符串拆分为部分并解析每个字符串。

如果您尝试在某些特定编码下将字符串转换为其二进制表示,则应使用String.getBytes,例如

byte[] abc = "204.29.207.217".getBytes("UTF-8");

(请注意,传统上[]作为变量类型的一部分,而不是变量名称之后。虽然后者是允许的,但不鼓励它作为样式。)

答案 1 :(得分:3)

这是字符串文字。如果您希望获得字符串的二进制表示形式,请使用String.getBytes方法之一。

答案 2 :(得分:2)

使用char []或String。确保并获得String的包含。