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 ?
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);
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"));
fabio, entendi o seu e funcionou msm. Viecili não entendi o que quer dizer esse ISO… vc poderia explicar o seu código?
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)
Valeu viecili. Mas qual a diferença de fazer do seu jeito e do outro jeito(que o outro amigo fez)?
fazendo a conversão com ISO-8859-1 vc não corre o risco de que caracteres especiais não sejam convertidos, basicamente isso!
Tá blz, entendi.
Valeu viecili.