Converter byte[] para String sem perdas

1 resposta
R

Fala galera, sou novo aqui no guj.

eh o seguinte, eu abro um arquivo qualquer normalmente armazenando ele num Array de bytes …

byte[] b = new byte[(int) f.length()];// File f eh uma imagem.jpg q vem pelo metodo
FileInputStream fileIS = new FileInputStream(f);
     fileIS.read(b);

blz ateh aki tudo bem, para fazer o processo inverso, salvar novamente para arquivo eh tranquilo,
só que eu to precisando passar esse Array byte[] b para uma string

String s= new String(b);

isso funciona, só que a minha string perdeu valores … e ja nao dah mais para voltar ao estado original.
o que eu to fazendo de errado ?

1 Resposta

E

Tudo. Não se deve guardar bytes em uma String, use arrays de bytes mesmo. Você vai sempre ter perdas, não importando o segundo parâmetro (encoding) que você passe ao construtor de String.

Criado 28 de outubro de 2010
Ultima resposta 28 de out. de 2010
Respostas 1
Participantes 2