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
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
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
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…
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);
}
NOssa, isso q eu chamo d resposta em cima da medida!!
o q e q um array n faz ne rsrsr!!!
Eh isso ai…valew irmao!!