【发布时间】:2015-12-06 04:00:21
【问题描述】:
我必须将 byte[] 放入 string ,然后将其转换回 byte] 。
但是,当我这样做时,返回的byte[] 与原来的不同。
这是代码:
public class HelloWorld {
public static void main(String[] args) {
byte[] data = {
(byte) 0xde, (byte) 0x33, (byte) 0x10, (byte) 0x12,
(byte) 0xde, (byte) 0x33, (byte) 0x10, (byte) 0x12,
};
System.out.println("OriginalDataByte : " + data);
String datastring = data.toString();
System.out.println("StringFromByteArray : " + datastring);
byte[] newdata = datastring.getBytes();
System.out.println("ByteArrayFromString: " + newdata);
}
}
返回:
OriginalDataByte : [B@6d06d69c
StringFromByteArray : [B@6d06d69c
ByteArrayFromString: [B@7852e922
有什么办法解决这个问题?
【问题讨论】:
-
您的问题标题不正确。在 Java 中,
Byte[]和byte[]是不同的东西。你真的在问byte[]或Byte[]吗?您的问题中还有许多其他困惑。但它>>看起来toString()为数组打印的内容。 -
请不要破坏您的问题,即使事实证明您犯了错误。我已恢复您的编辑。