Converter hexa em byte

5 respostas
L

Olá pessoal,

Estou tentando converteuma String em hexa de tamanho 16 para um array de byte com o mesmo tamanho…

Alguem sabe de algo??

Positive Vibrations

Lucas Ferst

5 Respostas

S

Olá,

dá pra fazer coisas assim:

String hexa = "FFEEDDCCBBAA998877665544332211"; for(int i = 0; i < hexa.length(); i += 2) { String doisChar = hexa.substring(i,i+2); System.out.println( doisChar + " -> " + Integer.parseInt(doisChar, 16)); }
mas, note que usei inteiros (Integer), pois byte tem 127 como valor máximo. Logo, o hexadecimal “80” não daria para armazenar num byte!

spier

L

Obrigado irmao…

mas eh o seguinte…

eu nao quero pegar de dois em dois

FFEEDDCCBBAA998877665544332211

eu quero pegar de um em um…

ou seja esse string ficaria FEDCBA987654321

Dai pegar o F e passar para Byte…

esse que eh o meu problema

Valew pela atenção…

S

Então é só adaptar o código acima, basicamente mudando o quanto se "pega" da string e usando o parse da classe correspondente ao que voce quer:

...
    byte[] arrayBytes = new byte[hexa.length()];

    for(int i = 0; i < hexa.length(); i ++) {
	String b = hexa.substring(i,i+1);
	arrayBytes[i] = Byte.parseByte(b, 16);
    }
C

NOssa, isso q eu chamo d resposta em cima da medida!!

o q e q um array n faz ne rsrsr!!!

L

Eh isso ai…valew irmao!!

Criado 30 de setembro de 2004
Ultima resposta 30 de set. de 2004
Respostas 5
Participantes 3