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:
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(",");
byte[] bytes = new byte[byteValues.length];
for (int i = 0, len = bytes.length; i < len; i++) { bytes[i] = Byte.parseByte(byteValues[i].trim()); }
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!