Método de codificación CharsetEncoder (CharBuffer in) en Java con ejemplos

El método codificar (entrada CharBuffer) es un método integrado de java.nio.charset.CharsetEncoder que codifica el contenido que queda de un búfer de caracteres de entrada único en un búfer de bytes recién asignado. El método encode() en sí mismo implementa una operación completa de codificación. Esta función no debe invocarse si la operación está en curso.

Sintaxis :

public final ByteBuffer encode(CharBuffer input)

Parámetros : la función acepta una entrada de parámetro obligatoria que especifica el búfer de caracteres de entrada.

Valor de retorno : la función devuelve un búfer de bytes recién asignado que contiene el resultado de la operación de codificación.

Error y excepciones: la función arroja cuatro excepciones que se pueden describir a continuación:

  • IllegalStateException : se lanza si una operación de codificación ya está en curso.
  • MalformedInputException : se genera si la secuencia de caracteres que comienza en la posición actual del búfer de entrada no es una secuencia Unicode de dieciséis bits legal y la acción de entrada con formato incorrecto actual es CodingErrorAction.REPORT.
  • UnmappableCharacterException : se genera si la secuencia de caracteres que comienza en la posición actual del búfer de entrada no se puede asignar a una secuencia de bytes equivalente y la acción de carácter no asignable actual es CodingErrorAction.REPORT
  • Excepción de codificación de caracteres

A continuación se muestra la implementación de la función anterior:

Programa 1:

Java

// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
  
public class Main {
    public static void main(String[] args) throws Exception
    {
  
        // Gets the new encoder
        CharsetEncoder encoder = Charset.forName("UTF8").newEncoder();
  
        // Encodes
        String res = "gfggfg";
        System.out.println(encoder.encode(CharBuffer.wrap(res)));
    }
}
Producción:

java.nio.HeapByteBuffer[pos=0 lim=6 cap=6]

Programa 2:

Java

// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
  
public class Main {
    public static void main(String[] args) throws Exception
    {
  
        // Gets the new encoder
        CharsetEncoder encoder = Charset.forName("UTF16").newEncoder();
  
        // Encodes
        String res = "gopal";
        System.out.println(encoder.encode(CharBuffer.wrap(res)));
    }
}
Producción:

java.nio.HeapByteBuffer[pos=0 lim=12 cap=21]

Los programas de excepción no se pueden demostrar en programas.

Referencia: https://docs.oracle.com/javase/10/docs/api/java/nio/charset/CharsetEncoder.html#encode(java.nio.CharBuffer)

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *