Program to convert byte array data to hexadecimal
public class ByteArrayDemo
{
protected
static final byte[] Hexhars =
{
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'a', 'b',
'c', 'd', 'e', 'f'
};
public String byteArrayToHexString(byte[] b)
{
//Constructs a string builder with
no characters in it and an initial capacity specified by the capacity argument.
StringBuilder s = new StringBuilder(2 * b.length);
for (int i = 0; i < b.length; i ++)
{
int v =
b[i] & 0xff;
/*
* ANDs
b[i] with 0xFF
* The value of b[i] is 65(Whose binary is
01000001), we AND it with 0xFF(whose Binary is 11111111)
*
resulting in the binary 01000001
*/
s.append((char)
Hexhars[v >> 4]);
/*
* v
>> 4 - Right shifts the value of v(01000001) to 4 places
* On 1st
right shift, we get 00100000
* On 2nd right shift, we
get 00010000
* On 3rd
right shift, we get 00001000
* On 4th
right shift, we get 00000100
* Which is
4
* Hexhars[4] - Finds the value at
the 4th place(starting from 0) from the byte array Hexhars
*/
s.append((char)
Hexhars[v & 0xf]);
/*
* ANDs
b[i] with 0xF
* The value of b[i] is 65(Whose
binary is 01000001), we AND it with 0xF(whose Binary is 00001111)
* resulting
in the binary 00000001 - 1
*
Hexhars[1] - Finds the value at the 1st place from the byte array Hexhars
*/
}
return s.toString();
}
public
static void main(String[] args)
{
byte[] byteArray = new byte[] {65};
ByteArrayDemo obyteArrayDemo = new ByteArrayDemo();
String sData = obyteArrayDemo.byteArrayToHexString(byteArray);
System.out.println(sData);
}
}
No comments:
Post a Comment
Thanks for visiting my Blog....Ur comments n suggestions are most valuable for me...Thanks