[CODE lang="java" title="HexStringToString"]public class HexStringToString {
public static void main(String[] args)
{
final String hexStr = "0105087fefbe80efbe81efbf80efbea5";
System.out.println( hexStr );
final StringBuilder buff = new StringBuilder( hexStr.length() / 2 );
for ( int i = 0 ; i < hexStr.length() ; i += 2 )
{
buff.append(
(char) Integer.parseInt(
//str
hexStr.substring(
//beginIndex
i ,
//endIndex
i + 2 ) ,
//radix
16 ) );
}
final String binStr = buff.toString();
System.out.println( binStr );
final String backToHexStr =
convertToHexStr(
binStr );
System.out.println( backToHexStr );
if ( ! hexStr.toLowerCase().equals( backToHexStr.toLowerCase() ) )
{
throw new RuntimeException( "failed" );
}
System.out.println( "ok" );
}
private static String convertToHexStr(
final String binStr )
{
final StringBuilder buff = new StringBuilder( binStr.length() * 2 );
for ( final char binChar : binStr.toCharArray() )
{
buff.append(
padWithLeadingZerosToLength2(
Integer.toHexString( binChar ) ) );
}
return buff.toString();
}
private static String padWithLeadingZerosToLength2(
String str )
{
while ( str.length() < 2 )
{
str = "0" + str;
}
return str;
}
}
[/CODE]