Esta publicación discutirá cómo convertir una array de bytes en una string en Java.

Sabemos que una string almacena datos textuales en Java, y byte[] almacena datos binarios, por lo que debemos evitar la conversión entre ellos. Sin embargo, es posible que nos encontremos en situaciones en las que no tengamos otra opción. Esta publicación cubre cómo convertir una array de bytes en una string en Java, con y sin especificar la codificación de caracteres.

1. Sin codificación de caracteres

Podemos convertir el byte array a String para el conjunto de caracteres ASCII sin siquiera especificar la codificación de caracteres. La idea es pasar el byte[] al constructor de strings.

Descargar  Ejecutar código

Resultado:

Techie Delight

2. Con codificación de caracteres

sabemos que un byte contiene 8 bits, que pueden tener hasta 256 valores distintos. Esto funciona bien para el juego de caracteres ASCII, donde solo se usan los primeros 7 bits. Para conjuntos de caracteres con más de 256 valores, debemos especificar explícitamente la codificación, que indica cómo codificar caracteres en secuencias de bytes.

En el siguiente programa, hemos utilizado StandardCharsets.UTF_8 para especificar la codificación. Antes de Java 7, podemos usar el Charset.forName("UTF-8").

Descargar  Ejecutar código

Resultado:

Techie Delight

Se trata de convertir una array de bytes en Java String.