Converter byte[] para String para poder manda-lo via GET e depois recuperar o valor byte[]
3 respostas
randall
Preciso trafegar um vetor byte[] por parametro de um método get e a única maneira que consegui imaginar foi converte-lo para uma string o problema foi que tanto a conversão direta byte[].toString e depois String.getBytes(), quanto pegar cada valor byte do vetor converter para Byte e converte-lo com .toString(), para depois recuperar o byte com Byte.valueof(String). byteValue não recuperam o valor do vetor byte[] original.
Existem dois métodos que você pode utilizar: encodeHex e decodeHex.
O que vai ser feito é converter cada byte para uma string representando o valor em hexadecimal.
Espero ter lhe ajudado,
Abraços
ViniGodoy
Strings não são um sinônimo de um array de bytes. Como existe encoding, é muito comum perder informações no processo.
Então, ou você converte os bytes para uma representação textual (como sugeriu o colega), ou não faz o que você quer. Outra opção é usar algum método que gere um arquivo em BASE-64.
B
bezier_curve
O ASP.NET costuma guardar informações de sessão como um na sua página. Ele contém uma informação codificada em uma versão modificada de Base-64 (é que a Base-64 normal contém “/” e “+” e “=” que são caracteres que podem dar problemas se a informação for devolvida via GET.