public static void main(String[] args) {
try {
String str = "hello";
byte[] utf8Bytes = str.getBytes("UTF-8");
byte[] sjisBytes = str.getBytes("SJIS");
} catch(UnsupportedEncodingException e) {
//Es kann nicht passieren, aber du musst schreiben
}
}
Sie können "String.getBytes (String charsetName)" oder "new String (Byte [] Bytes, String charsetName)" verwenden, wenn Sie ein String-Byte-Array in Java konvertieren, aber "charsetName" ist ungültig. In diesem Fall tritt die aktivierte Ausnahme "UnsupportedEncodingException" auf. Da es sich um eine aktivierte Ausnahme handelt, sind "try-catch" und "throw" erforderlich. Da es sich jedoch um eine Ausnahme handelt, die nur auftreten kann, wenn der Zeichencode dynamisch geändert wird, wird die Beschreibung redundant.
public static void main(String[] args) {
String str = "hello";
byte[] utf8Bytes = str.getBytes(StandardCharsets.UTF_8);
byte[] sjisBytes = str.getBytes(Charset.forName("SJIS"));
}
Wenn Sie den Zeichencode mit dem Typ "Zeichensatz" angeben, tritt die "UnsupportedEncodingException" nicht auf. UTF-8 wird als Konstante der Klasse "java.nio.charset.StandardCharsets" bereitgestellt. Da jedoch kein SJIS vorhanden ist, verwenden Sie "Charset.forName (String charsetName)". Wenn "charsetName" ungültig ist, tritt natürlich eine Ausnahme auf, aber alle Ausnahmen in diesem Fall sind nicht aktivierte Ausnahmen, sodass keine Verarbeitung erforderlich ist.
Recommended Posts