Maison > Java > javaDidacticiel > le corps du texte

Comment gérer l'exception UnsupportedEncoding en Java ?

WBOY
Libérer: 2023-06-25 10:18:10
original
1472 Les gens l'ont consulté

Java est un langage de programmation très populaire, largement utilisé à la fois dans les applications d'entreprise et dans le développement mobile. En programmation Java, nous rencontrons souvent une exception, qui est l'exception UnsupportedEncoding. Cet article abordera les causes de l’exception UnsupportedEncoding et comment la gérer.

1. Causes de l'exception UnsupportedEncoding

L'exception UnsupportedEncoding indique qu'un codage de caractères qui n'est pas pris en charge par Java est utilisé. En Java, le codage par défaut des chaînes est UTF-8. Si vous opérez sur des chaînes avec d'autres encodages, une exception UnsupportedEncoding sera levée.

Par exemple, le code suivant générera une exception UnsupportedEncodingException :

public class Demo {
    public static void main(String[] args) {
        String str = "你好";
        byte[] b = str.getBytes("GBK");
    }
}
Copier après la connexion

Dans cet extrait de code, nous voulons obtenir le tableau d'octets de l'encodage GBK de la chaîne "Hello", et la méthode getBytes(String charsetName) est utilisée ici. Cependant, lorsque nous obtenons le tableau d'octets, nous spécifions une méthode de codage qui n'est pas prise en charge par Java - GBK, donc une exception UnsupportedEncodingException sera levée.

2. Comment gérer l'exception UnsupportedEncoding

Après avoir compris la cause de l'exception UnsupportedEncoding, nous devons savoir comment résoudre ce problème. Il existe les deux méthodes suivantes :

1. Attraper et gérer les exceptions

Utilisez des blocs try-catch dans le code pour intercepter les exceptions UnsupportedEncodingException et les gérer. Par exemple :

public class Demo {
    public static void main(String[] args) {
        String str = "你好";
        try {
            byte[] b = str.getBytes("GBK");
        } catch (UnsupportedEncodingException e) {
            System.err.println("Unsupported Encoding Exception: " + e.getMessage());
        }
    }
}
Copier après la connexion

Dans cet extrait de code, nous avons placé un bloc try-catch autour de la méthode getBytes() pour intercepter l'exception UnsupportedEncodingException à l'intérieur. Lorsqu'une exception est levée, nous imprimerons les informations sur l'exception sur la console.

2. Utilisez la méthode d'encodage prise en charge par Java

Une autre solution consiste à utiliser la méthode d'encodage prise en charge par Java. Java fournit une classe StandardCharsets, qui contient tous les types de codage de caractères pris en charge par Java.

Par exemple, le code suivant utilise l'encodage UTF-8 supporté par Java :

public class Demo {
    public static void main(String[] args) {
        String str = "你好";
        byte[] b = str.getBytes(StandardCharsets.UTF_8);
    }
}
Copier après la connexion

Cet extrait de code utilise la méthode getBytes() pour obtenir le tableau d'octets de l'encodage UTF-8 de la chaîne "Hello". Étant donné que UTF-8 est l'une des méthodes de codage prises en charge par Java, UnsupportedEncodingException ne sera pas levée.

3. Résumé

Dans cet article, nous présentons les causes et les solutions des exceptions UnsupportedEncoding. Lorsque nous utilisons Java pour exploiter des chaînes de codage non UTF-8, nous devons faire attention à l'utilisation du codage pris en charge par Java ou utiliser des blocs try-catch pour intercepter les exceptions UnsupportedEncodingException. De cette façon, nous pouvons exécuter avec succès le code Java et le laisser remplir avec succès les fonctions que nous attendons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal