Converting Strings to Byte Arrays in Java
When working with byte arrays in Java, it's often necessary to convert strings into byte arrays. There are several methods that can be used to achieve this conversion.
The simplest method is getBytes(), which converts the string to a byte array using the platform's default character encoding. For example:
String str = "Hello World"; byte[] bytes = str.getBytes();
However, it's important to note that the default character encoding is often not appropriate for your application. To specify a specific character encoding, use the getBytes(Charset) method. For example:
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
In some cases, you may encounter issues displaying byte arrays as strings. This is because the toString() method of the byte array class returns the class name and memory address. To obtain a readable string representation, use Arrays.toString(). For example:
System.out.println(Arrays.toString(bytes));
To convert a byte array back to a string, use the String(byte[]) constructor. For example:
String str = new String(bytes);
It's essential to ensure that the character encoding used to convert the string to a byte array is the same as the character encoding used to convert the byte array back to a string. Otherwise, the resulting string may be garbled.
The above is the detailed content of How Do I Convert Strings to Byte Arrays (and Back) in Java?. For more information, please follow other related articles on the PHP Chinese website!