Convierta una string en una array de bytes en Java usando el método getBytes (Charset)

En Java, las strings se convierten en una array de bytes, necesitamos un método getBytes (Charset) . Este método convierte la string dada en una secuencia de bytes utilizando el juego de caracteres dado y devuelve una array de bytes. Es una función predefinida de la clase de string. Aquí, en este método usamos una instancia de la clase Charset, esta clase proporciona un mapeo con nombre entre una secuencia de caracteres y una secuencia de bytes.

  • US-ASCII: ASCII de siete bits, también conocido como ISO646-US, también conocido como el bloque latino básico del conjunto de caracteres Unicode
  • ISO-8859-1: Alfabeto latino ISO n.° 1, también conocido como ISO-LATIN-1
  • UTF-8: formato de transformación UCS de ocho bits
  • UTF-16BE: formato de transformación UCS de dieciséis bits, orden de bytes big-endian
  • UTF-16LE: formato de transformación UCS de dieciséis bits, orden de bytes little-endian
  • UTF-16: formato de transformación UCS de dieciséis bits, orden de bytes identificado por una marca de orden de bytes opcional.

Sintaxis:

public byte[] getBytes(Charset charset)

Parámetro: esta función toma un argumento, que es el juego de caracteres que se usa para codificar la string 

resultante

Nota:

  • Este método siempre reemplaza la entrada con formato incorrecto y la secuencia de caracteres no asignables con la array de bytes de reemplazo predeterminada de su conjunto de caracteres.
  • Si el juego de caracteres proporcionado no es un juego de caracteres válido, este método generará una excepción de codificación no admitida.
  • La longitud de la array de bytes no es la misma que la string dada, depende de la codificación de caracteres.

Analicemos cómo convertir una string en una array de bytes con la ayuda de los ejemplos dados:

Ejemplo 1:

Java

// Java program to illustrate how to
// convert a string to byte array
// Using getBytes(Charset charset)
  
import java.io.*;
  
class GFG{
      
public static void main (String[] args) 
{
    
    // Initializing String 
    String ss = "Hello GeeksforGeeks";
      
    // Display the string before conversion
    System.out.println("String: " + ss);
      
    try
    { 
        
        // Converting string to byte array
        // Using getBytes(Charset charset) method
        // Here, we converts into UTF-16 values
        byte[] res = ss.getBytes("UTF-16"); 
  
        // Displaying converted string after conversion 
        // into UTF-16 
        System.out.println("Result : "); 
        
        for(int i = 0; i < res.length; i++)
        {
            System.out.print(res[i]); 
        } 
        
    } 
    catch (UnsupportedEncodingException g) 
    {
        System.out.println("Unsupported character set" + g); 
    } 
}
}
Producción

String: Hello GeeksforGeeks
Result : 
-2-1072010101080108011103207101010101010701150102011101140710101010101070115

Ejemplo 2:

Java

// Java program to illustrate how to
// convert a string to byte array
// Using getBytes(Charset charset)
  
import java.io.*;
import java.util.Arrays;
  
class GFG{
      
public static void main (String[] args) 
{
      
    // Initializing String 
    String ss = "Hello GFG";
      
    // Display the string before conversion
    System.out.println("String: " + ss);
      
    try
    { 
        // Converting string to byte array
        // Using getBytes(Charset charset) method
        // Here, we converts into US-ASCII values
        byte[] res = ss.getBytes("US-ASCII"); 
  
        // Displaying converted string after conversion 
        // into US-ASCII 
        System.out.println("Byte Array:" + Arrays.toString(res));
    } 
    
    catch (UnsupportedEncodingException g) 
    {
        System.out.println("Unsupported character set" + g); 
    } 
}
}
Producción

String: Hello GFG
Byte Array:[72, 101, 108, 108, 111, 32, 71, 70, 71]

Publicación traducida automáticamente

Artículo escrito por ankita_saini 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 *