Deformação de array byte pra String

7 respostas
B

Pessoal, tenho que passar um nome String pra array de byte e depois restaurar esse valor do array byte pra String, só que quando restauro o valor byte pra String ele volta com uns valores String que não tem nada a ver com o original.Ex: converter a String “Carlos” pra um array byte e depois converter o array byte pra String deu esse resultado : [B@1cb37664, mas era pra resultar em Carlos. Alguém pode me dar uma ajuda ?

7 Respostas

F

tenta com esse codigo abaixo

String source = "My String";		
byte b[] = source.getBytes();		
String dest = new String(b);		
System.out.println("Source: " + source + "\nDest: " + dest);
V

desse jeito vc está imprimindo o array de bytes direto com System.out.print, ok?

pra funcionar do jeito que tu queres faça o seguinte:

byte[] bstr = "Carlos".getBytes("ISO-8859-1"); System.out.println(new String(bstr,"ISO-8859-1"));

B

fabio, entendi o seu e funcionou msm. Viecili não entendi o que quer dizer esse ISO… vc poderia explicar o seu código?

V

ISO by Google e ISO

ISO-8859-1 (ou Latin-1) é a tabela de codificação de caracteres usada na conversão de caractere para byte, com ela vc consegue transformar corretamente caracteres que não estão na tabela Cp1252 (padrão Java no Windows)

B

Valeu viecili. Mas qual a diferença de fazer do seu jeito e do outro jeito(que o outro amigo fez)?

V

fazendo a conversão com ISO-8859-1 vc não corre o risco de que caracteres especiais não sejam convertidos, basicamente isso!

B

Tá blz, entendi.

Valeu viecili.

Criado 18 de julho de 2005
Ultima resposta 20 de jul. de 2005
Respostas 7
Participantes 3