Ref.: Array de bytes para String()

Boa tarde,

      Como faço para converter um array de bytes para um String()?

É o seguinte, recebo um valor, e quando este é do tipo byte[], tenho que converte-lo para um String(), como faço isto?

if (value instanceof byte[]) 
{
    value = <O que de vo fazer aqui para este cara virar um String()?>;                
}
String palavra = new String(arrayDeBytes);

Você irá criar uma nova variável e “armazenar” a String lá.

Não tem como você mudar o tipo de uma variável de referência.

Vc pode criar um outro vetor de Strings do mesmo tamanho que o de bytes e converter item por item com um for…

usando valueOf…

Na verdade "value" é um parametro do tipo Object(), quando recebo o mesmo, verifoco seu tipo.


//Recebo aqui recebo o Object() -> Object value

if (value instanceof byte[]) {   
  
            value = <O que de vo fazer aqui para este cara virar um String()?>;   
               
}  

Ao converter um array de bytes para uma string, cuidado com a codificação (encoding). É sempre desejável mencionar explicitamente o encoding ao efetuar essa conversão.

Exemplo:

byte[] bytes = "João".toByteArray ("UTF-8");
String s = new String (bytes, "UTF-8");

É isto que vc precisa!?

public class Main {    
  
    public void convertByteToString() {        
        byte b = 65;
        System.out.println(Byte.toString(b)); 
        System.out.println(b + "");    
        System.out.println(new String(new byte[] {b}));        
    }

    public static void main(String[] args) {
        new Main().convertByteToString();
    }
}

Espero ter ajudado, t+

String[] vetor = new String[x]; byte[] vetor1 = new byte[x]; for (int i = 0; i < vetor.length; i++ ) { vetor1[i] = Byte.parseByte(vetor[i]); }

Se o que entendi estiver certo…isso funciona…

[quote=thingol]Ao converter um array de bytes para uma string, cuidado com a codificação (encoding). É sempre desejável mencionar explicitamente o encoding ao efetuar essa conversão.

Exemplo:

byte[] bytes = "João".toByteArray ("UTF-8"); String s = new String (bytes, "UTF-8"); [/quote]

Verdade.

Valeu Rapaziada!

Resolvi desta forma:

this.value = new String(((byte[]) value));

Quando sabemos!

Antes de tudo temos que quebrar bastante a CAIXOLA.

[]´s

O Professor Pasquale baixou aqui (volta e meia ele, em espírito, baixa mesmo estando vivo - coisas do Prof. Pasquale) e mandou avisar que “cachola” é cabeça e “caixola” é uma pequena caixa.
Como acho que você não estava quebrando uma caixinha…

[quote=thingol]O Professor Pasquale baixou aqui (volta e meia ele, em espírito, baixa mesmo estando vivo - coisas do Prof. Pasquale) e mandou avisar que “cachola” é cabeça e “caixola” é uma pequena caixa.
Como acho que você não estava quebrando uma caixinha…
[/quote]

Sai…
sai…
sai que esse corpo não te pertence!!!

rssss