Java 字节数组、字符串和字节数组之间的转换
在 Java 中,交换数据常常涉及到字符串和字节数组格式之间的转换。这种转换在网络通信和数据存储中起着至关重要的作用。
假设您有一个字节数组,希望将其转换为字符串。如果您需要通过网络以字符串形式发送数据,则必须进行此转换。一种常见的方法是使用 Arrays.toString() 方法,该方法提供字节数组的字符串表示形式:
byte[] data = {1, 2, 3, 4, 5}; String dataString = Arrays.toString(data);
生成的 dataString 变量将包含字节数组的字符串表示形式:[1, 2, 3, 4, 5].
获得字符串格式的数据后,您可能需要将其转换回字节数组。通过网络接收数据并将其存储在字节数组中以供进一步处理时,通常需要这样做。
要将字节数组的字符串表示形式转换回字节数组,您需要解析各个字节值并使用这些值构造一个新的字节数组。以下是如何执行此转换的示例:
String receivedString = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]"; // Split the string into individual byte values String[] byteValues = receivedString.substring(1, receivedString.length() - 1).split(","); // Create a new byte array with the parsed byte values byte[] bytes = new byte[byteValues.length]; for (int i = 0; i < bytes.length; i++) { bytes[i] = Byte.parseByte(byteValues[i].trim()); }
执行此代码后,bytes 变量将包含从字符串表示形式恢复的字节数组。
需要注意的是, Arrays.toString() 方法返回数组的字符串表示形式,而不是实际的字节数组本身。因此,要检索原始字节数组,您需要显式解析字符串中的字节值并重建字节数组。
以上是如何在 Java 字节数组、字符串和字节数组之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!