Auf Thema antworten

[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]



Oben