Estou com um problema na conversão de byte[] para String.
To recebendo um valor por Xml e uma classe ja pega ele e transforme em byte[]. O problema é que quando transformo ele pra String ele não transforma para o mesmo valor.
Estou usando o seguinte codigo pra passa esse byte[] que peguei do Xml para String:
Exp: Valor vindo do Xml (String) = UZaPRYSInDl3L3C/awyxyTYCEoc=
byte[] value = [B@12b23ce
Para converter um array de bytes em uma string, nunca use “toString” (que é chamada implicitamente quando você concatena uma string com um array de bytes.)
Use sempre new String (o seu array de bytes, a sua codificação).
Exemplo:
byte[] bytes = {'A', 'B', 'C'};
String s = new String (bytes, "ISO-8859-1");
[quote=thingol]Para converter um array de bytes em uma string, nunca use "toString" (que é chamada implicitamente quando você concatena uma string com um array de bytes.)
Use sempre new String (o seu array de bytes, a sua codificação).
Exemplo:
byte[] bytes = {'A', 'B', 'C'};
String s = new String (bytes, "ISO-8859-1");
[/quote]
Obrigado pela resposta rápida, meu amigo!
Acontece q já estou fazendo isso aqui:
public void setMinhaString(byte[] value) throws UnsupportedEncodingException{
System.out.println("BYTE = " + value); //Out: [B@12b23ce
String decode = new String(value, "UTF-8");
System.out.println("STRING = " + decode); //Out: Q??E???9w/p?k??6?
this.minhaString = decode;
}
Como falei, ao converter o byte q foi gravado pra String está vindo uma String diferente, e quando uso a mesma String com o código para teste abaixo que tem o mesmo principio do codigo acima, o byte gravado é diferente e a String retornada é a correta:
[code]
public static void main(String[] args) throws UnsupportedEncodingException {
[quote=Xakkal]Problema resolvido!
Converti meu valor em byte[] para Base64 para depois transformar em String:
[/quote]
Desta forma q vc ta fazendo vc ta achando o valor em Base64 e não no original. Provavelmente vc esteja trabalhando com criptografia SHA… se for, ok deve-se trabalhar com Base64 ou hexadecimal algo do tipo.