jmmenezes 20 de ago. de 2012
Amigo… essa parte é facil… tinha até postado no outro tópico!
O código abaixo mostra como converter de uma string para um array de bytes.
public static void main ( String [] args ) {
byte [] arrayBytes = parseHexBinary ( getBytesString ());
System . out . println ( printHexBinary ( arrayBytes ));
}
public static String getBytesString () {
String byteStr = "" ;
byteStr += "4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00 " ;
byteStr += "00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75 " ;
byteStr += "57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 02 " ;
byteStr += "88 DD 03 3F B0 00 00 00 00 00 00 9E 38 59 00 3F B0 00 00 " ;
byteStr += "00 00 00 00 20 88 DD 03 00 00 00 00 88 F9 7A 01 E7 C4 A2 " ;
byteStr += "76 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 3F B0 " ;
byteStr += "00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 C7 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 04 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 " ;
byteStr += "00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 " ;
byteStr += "A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 " ;
byteStr += "F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 " ;
byteStr += "FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 02 " ;
byteStr += "00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 " ;
byteStr += "00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 00 00 00 0A 00 10 00 10 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 00 00 06 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 " ;
byteStr += "00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 " ;
byteStr += "40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 " ;
byteStr += "00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 0F " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 01 00 06 00 02 22 28 80 00 00 06 24 48 " ;
byteStr += "92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 " ;
byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 " ;
byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 " ;
byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 " ;
byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8C " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 02 00 06 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 " ;
byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 " ;
byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 " ;
byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 " ;
byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 52 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 03 00 06 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 " ;
byteStr += "00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 " ;
byteStr += "40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 " ;
byteStr += "00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 12 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 04 00 06 00 02 22 28 80 00 00 06 24 48 " ;
byteStr += "92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 " ;
byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 " ;
byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 " ;
byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 " ;
byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8F " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 05 00 01 05 00 06 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 " ;
byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 " ;
byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 " ;
byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 " ;
byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " ;
byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 55 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44 " ;
byteStr += "4C 20 00 06 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 " ;
byteStr += "00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 " ;
byteStr += "A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 " ;
byteStr += "F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 " ;
byteStr += "FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 02 " ;
byteStr += "00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 " ;
byteStr += "00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 " ;
byteStr += "44 0D " ;
byteStr += "4C 59 45 53 44" ;
byteStr = byteStr . replaceAll ( "\\s" , "" );
return byteStr ;
}
public static byte [] parseHexBinary ( String s ) {
final int len = s . length ();
// "111" is not a valid hex encoding.
if ( len % 2 != 0 )
throw new IllegalArgumentException ( "hexBinary needs to be even-length: " + s );
byte [] out = new byte [ len / 2 ] ;
for ( int i = 0 ; i < len ; i += 2 ) {
int h = hexToBin ( s . charAt ( i ));
int l = hexToBin ( s . charAt ( i + 1 ));
if ( h ==- 1 || l ==- 1 )
throw new IllegalArgumentException ( "contains illegal character for hexBinary: " + s );
out [ i / 2 ] = ( byte )( h * 16 + l );
}
return out ;
}
private static int hexToBin ( char ch ) {
if ( '0' <= ch && ch <= '9' ) return ch - '0' ;
if ( 'A' <= ch && ch <= 'F' ) return ch - 'A' + 10 ;
if ( 'a' <= ch && ch <= 'f' ) return ch - 'a' + 10 ;
return - 1 ;
}
private static final char [] hexCode = "0123456789ABCDEF" . toCharArray ();
public static String printHexBinary ( byte [] data ) {
StringBuilder r = new StringBuilder ( data . length * 2 );
for ( byte b : data ) {
r . append ( hexCode [ ( b >> 4 ) & 0xF ] );
r . append ( hexCode [ ( b & 0xF ) ] );
}
return r . toString ();
}
Agora para ter a String, basta ler de um arquivo texto comum.
Veja este artigo:
http://www.guj.com.br/articles/13
Basta ler tudo em um string e usar as rotinas de conversão (que por sinal peguei da net).
Hoje tou sem tempo de consolidar tudo em um arquivo fonte… mas acredito que você consiga fazer numa boa!