Saltar al contenido

Cómo convertir Java String en byte[]?

Contamos con la solución a este conflicto, al menos eso pensamos. Si continuas con dudas deja tu comentario, que sin tardanza

Solución:

El objeto tu método decompressGZIP() las necesidades es un byte[].

Entonces, la respuesta básica y técnica a la pregunta que ha formulado es:

byte[] b = string.getBytes();
byte[] b = string.getBytes(Charset.forName("UTF-8"));
byte[] b = string.getBytes(StandardCharsets.UTF_8); // Java 7+ only

Sin embargo, el problema con el que parece estar luchando es que esto no se muestra muy bien. Vocación toString() solo te dará el valor predeterminado Object.toString() que es el nombre de la clase + dirección de memoria. En tu resultado [[email protected], el [B means byte[] y 38ee9f13 es la dirección de memoria, separada por un @.

Para fines de visualización, puede utilizar:

Arrays.toString(bytes);

Pero esto solo se mostrará como una secuencia de números enteros separados por comas, que puede ser o no lo que desea.

Para obtener un legible String de vuelta de un byte[], usar:

String string = new String(byte[] bytes, Charset charset);

La razón por la Charset se favorece la versión, es que todos String Los objetos en Java se almacenan internamente como UTF-16. Al convertir a un byte[] obtendrá un desglose diferente de bytes para los glifos dados de ese String, dependiendo del juego de caracteres elegido.

  String example = "Convert Java String";
  byte[] bytes = example.getBytes();

Intente usar String.getBytes (). Devuelve un byte[] representando string datos. Ejemplo:

String data = "sample data";
byte[] byteData = data.getBytes();

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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