A lopp can be used to display all through all the characters and the isDefined() method of the Character class can be used to determine if a given character is a valid Unicode character or not
for (int i=0; i<=Integer.MAX_VALUE; i++)
{
if (Character.isDefined(i))
{
System.out.println(Integer.toHexString(i)+": "+
new String(Character.toChars(i)));
}
}
written by objects
\\ tags: character, hex, unicode
You can tell the parseInt() method what base number system is used by the String that is being parsed.
String hex = "a9b0";
int n = Integer.parseInt(hex, 16);
written by objects
\\ tags: hex, int, parse
You have a couple of choices, either:
- Loop thru the array to convert each byte individually, or
- Use the toString() method of the BigInteger class
// using a loop
StringBuilder sb =
new StringBuilder(bytes.length * 2);
for (int i=0; i< bytes.length; i++)
{
sb.append(String.format("%02x", bytes[i]));
}
String hex1 = sb.toString();
// using BigInteger
BigInteger bi = new BigInteger(bytes);
String hex2 = bi.toString(16);
If you are dealing with large byte arrays or performance is an issue then you should have a read of “Converting large byte array to binary string”.
written by objects
\\ tags: array, BigInteger, conversion, hex, string
Recent Comments