public static void main(String[] args) {
try {
String str = "hello";
byte[] utf8Bytes = str.getBytes("UTF-8");
byte[] sjisBytes = str.getBytes("SJIS");
} catch(UnsupportedEncodingException e) {
//It can't happen, but you have to write
}
}
You can use String.getBytes (String charsetName)
or new String (byte [] bytes, String charsetName)
when converting a string ⇔ byte array in Java, but charsetName
is invalid. In this case, the checked exception ʻUnsupportedEncodingExceptionoccurs. Since it is a checked exception,
try-catch and
throws` are required, but unless the character code is changed dynamically, it is an exception that can hardly occur, so the description becomes redundant.
public static void main(String[] args) {
String str = "hello";
byte[] utf8Bytes = str.getBytes(StandardCharsets.UTF_8);
byte[] sjisBytes = str.getBytes(Charset.forName("SJIS"));
}
If you use the Charset
type to specify the character code, ʻUnsupportedEncodingExceptionwill not occur. UTF-8 is provided as a constant in the
java.nio.charset.StandardCharsets class, but since there is no SJIS, use
Charset.forName (String charsetName) . Of course, if
charsetName` is invalid, an exception will be thrown, but all the exceptions in that case are unchecked exceptions, so handling processing is unnecessary.
Recommended Posts