public static void main(String[] args) {
try {
String str = "hello";
byte[] utf8Bytes = str.getBytes("UTF-8");
byte[] sjisBytes = str.getBytes("SJIS");
} catch(UnsupportedEncodingException e) {
//Ça ne peut pas arriver, mais tu dois écrire
}
}
Vous pouvez utiliser String.getBytes (String charsetName)
ou new String (byte [] bytes, String charsetName)
lors de la conversion d'une chaîne ⇔ tableau d'octets en Java, mais charsetName
n'est pas valide. Dans ce cas, l'exception vérifiée ʻUnsupportedEncodingException` se produit.
Puisqu'il s'agit d'une exception vérifiée, «try-catch» et «throws» sont obligatoires, mais à moins que le code de caractère ne soit modifié dynamiquement, c'est une exception qui peut difficilement se produire, la description devient donc redondante.
public static void main(String[] args) {
String str = "hello";
byte[] utf8Bytes = str.getBytes(StandardCharsets.UTF_8);
byte[] sjisBytes = str.getBytes(Charset.forName("SJIS"));
}
L'utilisation du type Charset
pour spécifier le code de caractère éliminera ʻUnsupportedEncodingException. UTF-8 est fourni comme constante de la classe
java.nio.charset.StandardCharsets, mais comme il n'y a pas de SJIS, utilisez
Charset.forName (String charsetName). Bien sûr, si
charsetName` n'est pas valide, une exception se produira, mais toutes les exceptions dans ce cas sont des exceptions non cochées, donc le traitement de traitement n'est pas nécessaire.
Recommended Posts