Converting Between Strings and UTF-8 Byte Arrays in Java
In Java, encoding and decoding operations between strings and byte arrays can arise in various scenarios. This article provides a concise guide to these conversions, specifically focusing on UTF-8 encoding.
Encoding a String into a UTF-8 Byte Array
To encode a string into a UTF-8 byte array, use the getBytes method of the String class. This method takes an encoding name as its argument, such as StandardCharsets.UTF_8.
String s = "some text here"; byte[] b = s.getBytes(StandardCharsets.UTF_8);
Decoding a UTF-8 Byte Array into a String
To decode a UTF-8 byte array into a string, use the new String constructor and specify the appropriate encoding name.
byte[] b = {(byte) 99, (byte) 97, (byte) 116}; String s = new String(b, StandardCharsets.US_ASCII);
It's crucial to use the correct encoding names in both cases to ensure proper character representation. Common encoding options include US-ASCII and UTF-8, which support a wider range of characters.
Note that choosing the appropriate encoding depends on the context and the nature of the data being processed.
The above is the detailed content of How Do I Convert Between Strings and UTF-8 Byte Arrays in Java?. For more information, please follow other related articles on the PHP Chinese website!