Home >Java >javaTutorial >How Do I Convert Between Strings and Byte Arrays in Java Using Different Encodings?
String Byte Array Conversions in Java
Converting between Strings and byte arrays is a common task in Java for various data manipulation operations. In particular, encoding a String as a byte array and then converting it back to a String often arises when working with different encodings.
String to Byte Array Conversion
To encode a String as a byte array using UTF-8 encoding, use the getBytes() method:
String s = "some text here"; byte[] b = s.getBytes(StandardCharsets.UTF_8);
You can specify a different encoding by replacing StandardCharsets.UTF_8 with the desired encoding name, such as StandardCharsets.US_ASCII.
Byte Array to String Conversion
To convert a byte array back to a String using US-ASCII encoding:
byte[] b = {(byte) 99, (byte) 97, (byte) 116}; String s = new String(b, StandardCharsets.US_ASCII);
As before, you can specify the desired encoding by replacing StandardCharsets.US_ASCII with the correct encoding name.
Encoding Considerations
When converting between Strings and byte arrays, it's essential to use the appropriate encoding. UTF-8 is a widely-used Unicode encoding, while US-ASCII is an older encoding that only supports American English characters. Choosing the wrong encoding can result in data corruption or unexpected results.
Remember to specify the encoding explicitly when converting. Java may use the default platform encoding, which may not be appropriate for your application.
The above is the detailed content of How Do I Convert Between Strings and Byte Arrays in Java Using Different Encodings?. For more information, please follow other related articles on the PHP Chinese website!