Cómo convertir una cadena de Java en un byte

  1. Método getBytes() para convertir la cadena de Java en bytes
  2. Método getBytes() con una codificación específica para convertir cadenas en Java

En este tutorial, aprenderemos cómo convertir string en byte. Esta conversión se puede hacer usando diferentes clases dependiendo del requerimiento. En algunos casos, el usuario necesita realizar la codificación también mientras se convierte en bytes; según el requerimiento.

Método getBytes() para convertir la cadena de Java en bytes

El primer método con el que empezamos es el método getBytes() de Java. Este método tomará la cadena y la convertirá en Bytes dentro de un array.

Consideremos el siguiente código:

import java.util.Arrays;
import java.text.*;
import java.util.Date;

public class SimpleTesting {
public static void main(String[] args) {
  String string = "Simple Testing";
  byte[] bytes = string.getBytes();
  System.out.println("String: " + string);
  System.out.println("Bytes: " + Arrays.toString(bytes));
 }
}

Producción:

String: Simple Testing
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103]

Método getBytes() con una codificación específica para convertir cadenas en Java

Para convertir el arreglo de cadenas a bytes en la codificación UTF-8 para plataformas compatibles, podríamos usar el método getBytes(StandardCharsets.UTF-8). Funciona de manera similar al método getBytes() por defecto y devuelve la salida codificada en el formato de codificación dado.

Considere el siguiente código:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
public static void main(String[] args) {
  String string = "Simple Testing with UTF-8 Encoding";
  byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
  System.out.println("String: " + string);
  System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Producción:

String: Simple Testing with UTF-8 Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 85, 84, 70, 45, 56, 32, 69, 110, 99, 111, 100, 105, 110, 103]

Otro formato de codificación que puede ser usado con el método getBytes() es el default Charset para plataformas compatibles relevantes.

Considere el siguiente código:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
public static void main(String[] args) {
  String string = "Simple Testing with default Charset Encoding";
  byte[] bytes = string.getBytes(Charset.defaultCharset());
  System.out.println("String: " + string);
  System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Producción:

String: Simple Testing with default Charset Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 100, 101, 102, 97, 117, 108, 116, 32, 67, 104, 97, 114, 115, 101, 116, 32, 69, 110, 99, 111, 100, 105, 110, 103]

Otro formato de codificación que puede ser usado con el método getBytes() es UTF-16 para las últimas plataformas compatibles.

Considere el siguiente código:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
public static void main(String[] args) {
  String string = "Simple Testing with UTF-16 Encoding";
  byte[] bytes = string.getBytes(StandardCharsets.UTF_16BE);
  System.out.println("String: " + string);
  System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Producción:

String: Simple Testing with UTF-16 Encoding
Bytes: [0, 83, 0, 105, 0, 109, 0, 112, 0, 108, 0, 101, 0, 32, 0, 84, 0, 101, 0, 115, 0, 116, 0, 105, 0, 110, 0, 103, 0, 32, 0, 119, 0, 105, 0, 116, 0, 104, 0, 32, 0, 85, 0, 84, 0, 70, 0, 45, 0, 49, 0, 54, 0, 32, 0, 69, 0, 110, 0, 99, 0, 111, 0, 100, 0, 105, 0, 110, 0, 103]

Artículo relacionado - Java String

  • Cómo comprobar si una cadena está vacía o nula en Java
  • Hacer interpolación de cadenas en Java
  • Artículo relacionado - Java Byte

  • Cómo dividir una cadena de caracteres para formar un conjunto en Java
  • Caracteres de escape en Java