Converting Java String to byte[] for GZIP Decompression
This Java code converts a String to a byte array. One method converts the String directly to a byte array using one of the following:
byte[] b = string.getBytes(); byte[] b = string.getBytes(Charset.forName("UTF-8")); byte[] b = string.getBytes(StandardCharsets.UTF_8); // Java 7+ only
However, the default toString() method for byte arrays displays the object as [B@38ee9f13, where [B represents a byte array and 38ee9f13 is the memory address. To display the byte array in a readable format, use Arrays.toString(bytes).
To obtain a readable String from a byte array, use:
String string = new String(byte[] bytes, Charset charset);
When converting a String to a byte array, it's important to note that all Java Strings are stored internally as UTF-16. The chosen charset determines how the glyphs of the String are converted to bytes. Therefore, it's recommended to use the Charset version of getBytes().
To decompress a GZIP string, the decompressGZIP() method requires a byte array as input. Therefore, the conversion from String to byte array is necessary before using the decompression method.
The above is the detailed content of How Do I Convert a Java String to a byte[] for GZIP Decompression?. For more information, please follow other related articles on the PHP Chinese website!