La excepción java.io.UnsupportedEncodingException se produce cuando se utiliza un esquema de codificación de caracteres no admitido en strings o bytes de Java. El método java String getBytes convierte la string solicitada en bytes en el formato de codificación especificado. Si java no es compatible con el formato de codificación, el método String getBytes lanza java.io.UnsupportedEncodingException con el formato de codificación dado.
La codificación de caracteres se utiliza para determinar cómo se interpretará el binario sin procesar en un carácter. La codificación predeterminada para sistemas Windows en inglés en CP1252. Otros idiomas y sistemas pueden usar una codificación predeterminada diferente. El esquema de codificación UTF-8 se utiliza generalmente como esquema de codificación de caracteres. En java, los métodos String.getBytes() y StringCoding.encode() se utilizan para interpretar entre bytes sin procesar y strings de java.
Visor de clases
java.lang.Object java.lang.Throwable java.lang.Exception java.io.IOException java.io.UnsupportedEncodingException
Recuerde: implementa interfaces serializables.
Sintaxis:
public class UnsupportedEncodingException extends IOException
La codificación de caracteres no es compatible. Más adelante, veamos los constructores de esta clase, que son los siguientes:
- UnsupportedEncodingException(): Construye una UnsupportedEncodingException sin un mensaje de detalle.
- UnsupportedEncodingException(String s): construye una UnsupportedEncodingException con un mensaje detallado.
Implementación:
Ahora encontremos una salida para reproducir este problema como se indica UnsupportedEncodingException en java. Continuaremos con la ayuda de un ejemplo proporcionado a continuación que arrojará java.io.UnsupportedEncodingException . El esquema de codificación «UTF» es un nombre de esquema de codificación no válido. Es porque Java no puede interpretar la string en bytes si el esquema de codificación es desconocido o no es compatible. Java lanzará java.io. UnsupportedEncodingException si se identifica un método de codificación desconocido o no admitido.
Ejemplo
Java
// Java Program to Illustrate UnsupportedEncodingException // Main class // StringGetBytes class GFG { // Main driver method public static void main(String[] args) throws Exception { // Custom input string String str = "GeeksforGeeks"; // Declaring a byte array byte[] bytes; bytes = str.getBytes("UTF"); // Now here we are trying printing // given string and corresponding output string System.out.println("Given String : " + str); System.out.println("Output bytes : " + bytes); } }
Producción:
Ahora conocemos bien la excepción y hemos discutido por qué ocurre. Ahora busquemos una salida para deshacernos de esta excepción proponiendo la solución. El nombre del esquema de codificación compatible con Java se debe proporcionar en el método String.getBytes. Revise el conjunto de métodos proporcionados aquí antes de continuar.
Por lo tanto, la clase CharsetEncoder debe usarse cuando se requiere más control sobre el proceso de codificación. El método String.getBytes regresa con una array de bytes.
Ejemplo
Java
// Java Program to Resolve UnsupportedEncodingException // Main class // StringGetBytes public class GFG { // Main driver method public static void main(String[] args) throws Exception { // Custom input string String str = "GeeksforGeeks"; byte[] bytes; // Getting output bytes via help of getBytes() // method bytes = str.getBytes("UTF-16"); // Print and display input string and // corresponding UTF16 string System.out.println("Given String : " + str); System.out.println("Output bytes : " + bytes); } }
Given String : GeeksforGeeks Output bytes : [B@7cc355be
Publicación traducida automáticamente
Artículo escrito por praveen13kulkarni y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA