Home  >  Article  >  Java  >  How to convert a byte array to a String and back to a byte array in Java?

How to convert a byte array to a String and back to a byte array in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-11-12 16:27:02236browse

How to convert a byte array to a String and back to a byte array in Java?

Byte Array to String and Back to Byte Array in Java

Suppose you have an initial byte[] array and need to convert it to a string representation. Subsequently, you want to convert that string back into a byte[] array. This conversion is essential for data transmission and processing in various scenarios.

To convert a byte[] array into a string, you can use the Arrays.toString() method. This method returns a string that represents the content of the byte[] array. However, it's important to note that this string is not a byte[] array anymore. It is a string representation of the byte[] array.

After sending the string over the wire, the receiving end attempts to convert the received string back into a byte[] array. Here is the challenge: the string is no longer a byte[] array; it is a string with a specific format.

To convert the received string back into a byte[] array, you can use the following approach:

  1. Parse the String: Read the string character by character and extract the numerical value of each byte.
String response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]";

String[] byteValues = response.substring(1, response.length() - 1).split(",");
  1. Create Byte Array: Allocate a new byte[] array with the appropriate length.
byte[] bytes = new byte[byteValues.length];
  1. Assign Byte Values: Loop through each parsed byte value and assign it to the corresponding element in the byte[] array.
for (int i = 0, len = bytes.length; i < len; i++) {
    bytes[i] = Byte.parseByte(byteValues[i].trim());
}
  1. Return Byte Array: The bytes array contains the original byte data.

By following this approach, you can effectively convert a byte[] array to a string, send it over the wire, and then convert it back to a byte[] array on the receiving side. This conversion is essential for data manipulation and communication, ensuring that you can work with byte[] arrays throughout the workflow while maintaining the integrity of the data.

The above is the detailed content of How to convert a byte array to a String and back to a byte array in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn