Java2011

cher -  
KX Messages postés 19031 Statut Modérateur -
Bonjour, comment converti une chaine de caracteres en chaine de bits par java !??????????????

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Voici une manière assez rapide de le faire, même si on pourrait surement encore l'optimiser un peu, en particulier avec les opérateurs bit-à-bit.

    import java.util.ArrayList;
    import java.util.List;
    
    public class Test
    {
       static List<Byte> convert(String s)
       {
          int i, j=0, n=8*s.length();
          List<Byte> liste = new ArrayList<Byte>(n);
          
          for (i=0; i<n; i++)
             liste.add((byte) 0);
          
          for (byte b : s.getBytes())
          {
             for (i=j+7; i>=j; i--)
             {
                if (b%2==1)
                   liste.set(i,(byte) 1);            
                b = (byte) (b/2);
             }         
             j+=8;
          }
          
          return liste;
       }
       
       public static void main(String args[])
       {
          for (byte b : convert("CCM"))
             System.out.print(b); // 010000110100001101001101
       }   
    }
    0