terça-feira, 27 de novembro de 2012

RE: RES: [Atenção: Mensagem com endereço WEB suspeito] [java-br] Convertendo Byte[] para String

·

Oi Renato,
Tive que fazer algo parecedo, transformar uma String em array de bytes e voce versa, a melhora maneira que encontrai foi converter em um array hexadecimal com os seguintes métodos:
/**
* Converte um Array de Bytes em String hexadecimal.
*
* @param raw
* @return String hexadecimal da imagem.
*/
public static String bytesToHex(byte[] raw) {
return new String(bytesToHex_(raw));
}
private static char[] bytesToHex_(byte[] raw) {
int length = raw.length;
char[] hex = new char[length * 2];
for (int i = 0; i < length; i++) {
int value = (raw[i] + 256) % 256;
int highIndex = value >> 4;
int lowIndex = value & 0x0f;
hex[i * 2 + 0] = kDigits[highIndex];
hex[i * 2 + 1] = kDigits[lowIndex];
}
return hex;
}

/**
* Converte uma string hexadecimal em array de bytes.
*
* @param hex
* @return Array de bytes referente a digital.
*/
public static byte[] hexToBytes(String hex) {
return hexToBytes(hex.toCharArray());
}

private static byte[] hexToBytes(char[] hex) {
int length = hex.length / 2;
byte[] raw = new byte[length];
for (int i = 0; i < length; i++) {
int high = Character.digit(hex[i * 2], 16);
int low = Character.digit(hex[i * 2 + 1], 16);
int value = (high << 4) | low;
if (value > 127) {
value -= 256;
}
raw[i] = (byte) value;
}
return raw;
}

private static final char[] kDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a','b', 'c', 'd', 'e', 'f'};

Espero que ajude.
-----------------------------------------------------------------------------
(null == null) == true ? "Soluções Técnicas de Contorno" : "Engenharias de Emergência";



To: java-br@yahoogrupos.com.br
From: jsenamarques@yahoo.com.br
Date: Tue, 27 Nov 2012 11:11:03 -0800
Subject: Re: [java-br] Convertendo Byte[] para String


























Olá, Claudio



Obrigado por me ajudar.



Essa é a string que eu passo = "joserenato" na gravação;



Usando o código que me passou, foi essa a informação obtida = "6A6F73657265";



Eu não consigo entender pq eu não recupero a mesma informação gravada, quando faço os teste no método main usando para gravar o getByte e o String obj new String (); para recuperar, a conversão é feita...!!!



Tem alguma outra ideia ?

Valeu

att







José Renato Sena Marques

Programador de Sistema

Técnico em Segurança do Trabalho

Telefone: (18) 9682-5262/(18) 3341-4023

e-mail: jsenamarques@yahoo.com.br

Skype: jrenato455







________________________________

De: Claudio Emanuel Weiler <cweiler@tre-pr.jus.br>

Para: java-br@yahoogrupos.com.br

Enviadas: Terça-feira, 27 de Novembro de 2012 16:29

Assunto: RES: [Atenção: Mensagem com endereço WEB suspeito] [java-br] Convertendo Byte[] para String







José,



>> dataRead = tagData.getMemoryBankData().getBytes().toString();

Você está chamando o método "toString" de um objeto, este método por padrão

possui implementação de montar um identificação da instância do objeto.



Para criar uma string a partir de um array de bytes faça:

dataRead = new String(tagData.getMemoryBankData().getBytes());



Falouzs!!!



Claudio Weiler

http://claudioweiler.blogspot.com.br/



_____



De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em nome

de José Renato

Enviada em: terça-feira, 27 de novembro de 2012 16:21

Para: java-br@yahoogrupos.com.br

Assunto: [Atenção: Mensagem com endereço WEB suspeito] [java-br] Convertendo

Byte[] para String



Olá galera, boa tarde



Estou tendo um probleminha na conversão de dados e gostaria que alguém me

ajudasse, por favor. Eu estou trabalhando no desenvolvimento de uma app para

leitor de mão RFID, tenho o método que converte uma string em byte[] e grava

na etiqueta, até ai tudo bem, consigo gravar belezinha, mas quando faço a

leitura da etiqueta que passa por essa linha de código



TagData tagData = leitor.Actions.TagAccess.readWait(tagId, readAccessParams,

antennaInfo.getAntennaID() != null ? antennaInfo : null);



dataRead = tagData.getMemoryBankData().getBytes().toString();



essa variável dataRead recebe e mostra essa informção "[B@86c347"

agora preciso converter p/ mesma informação gravada, já tentei de tudo,

quando faço teste no método main o mesmo é convertido...alguém tem alguma

sugestão ? desculpe se não fui tão claro na minha explicação.



Obrigado !

att



[As partes desta mensagem que não continham texto foram removidas]



[As partes desta mensagem que não continham texto foram removidas]


















[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/

<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog