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();