Définissez les valeurs d'Octets en java

Je veux convertir la chaîne binaire de tableau d'octets dans java . J'ai écrit le code pour chaque bit de l'octet tableau à partir de la chaîne binaire de 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;

À écrire le code ci-dessus, j'ai pris l'aide de cette lien .
Mais la valeur stockés int la xByte[0] et xByte[1] n'est pas correct.
Il donne des valeurs comme

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

Est que c'est la façon d'écrire?Merci de me suggérer la correction pour obtenir les bonnes valeurs d'octets.

  • System.out.println((int)A.charAt(i));
  • A. charAt[i] permet de retourner un char, pas un nombre, et vous êtes réglage des bits d'une valeur char
  • J'ai essayé avec (int)A.charAt(i), mais il en résulte même.
  • voir ma réponse..
InformationsquelleAutor rachana | 2013-09-25