Legen Sie die Byte-Werte in java

Ich soll das konvertieren des Binär-string in byte-array in java . Ich habe den code schreiben, der jedes bit des byte-Arrays aus dem Binär-string String A = "1000000111010000"

        private byte firstByte;
    private byte secondByte;
        byte xByte = new byte[2];

        for(int i=0 ; i<A.length() ;i++){

            if(i<8){
                System.out.println(" i : "+i+" A.char[i] :"+A.charAt(i));
                firstByte = (byte) (firstByte | (A.charAt(i) << i));
            }else{
                System.out.println(" i : "+i+" A.char[i] :"+A.charAt(i));
                secondByte = (byte) (secondByte | (A.charAt(i) << i));
            }
        }
        xByte[0] = firstByte;
        xByte[1] = secondByte;

Schreiben Sie den obigen code habe ich genommen, die Hilfe von diese link .
Aber der Wert gespeichert int die xByte[0] und xByte[1] ist nicht korrekt.
Es gibt Werte wie

                   xByte[0] :-15
                   xByte[1] :0

Ist diesem schreiben ist Weg?Bitte schlage mir die Korrektur um die richtige byte-Werte.

System.out.println((int)A.charAt(i));
A. charAt[i] gibt einen char, nicht eine Zahl, und Sie setzen bit in einen char-Wert
Ich habe versucht, mit (int)A.charAt(i) aber es ergibt sich gleich.
siehe meine Antwort..

InformationsquelleAutor rachana | 2013-09-25

Schreibe einen Kommentar