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

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