Home >Java >javaTutorial >How Do I Convert Between Strings and Byte Arrays in Java Using Different Encodings?

How Do I Convert Between Strings and Byte Arrays in Java Using Different Encodings?

DDD
DDDOriginal
2024-11-30 11:00:11889browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn