Bits para Bytes?

Viva!

Tenho uma String com bits, como a seguinte:

String s = new String(“100110010001111100001010”);
se repararem temos 3 conjuntos de 8 bits, ou seja, 3 bytes.

Como faço para criar 3 bytes, após separar a String em 3?

Ou um byte[] bytes;
onde cada pos. do array tem um byte.

Sei que há o metodo s.getBytes(), mas dá o byte de cada char do string, e nao de cada grupo de 8 chars.

Obrigada a todos os que me responderem

spiningirl,

depois que você divide a String em 3. Faça assim:

Byte[] vetor = new Byte[3];

vetor[0] = Byte.valueOf(pedaco1, 2);
vetor[1] = Byte.valueOf(pedaco2, 2);
vetor[2] = Byte.valueOf(pedaco3, 2);

Agora tome cuidado com o limite do tipo Byte.

Veja o seu intervalo.

obrigado pela sua resposta
entretanto, estive a implementar outra alternativa:

	public static void bitToChar(String s){
				
		char ret = '[code]
	public static void bitToChar(String s){
				
		char ret = '\0';		
		for( int i = 0; i< s.length(); i++){
			if( s.charAt(i) == '0'){
				ret = (char) (ret << 1); 
			}
			else{
				ret = (char) ((ret << 1) | 1);
			}
		}		

	}
[/code]';		
		for( int i = 0; i< s.length(); i++){
			if( s.charAt(i) == '0'){
				ret = (char) (ret << 1); 
			}
			else{
				ret = (char) ((ret << 1) | 1);
			}
		}		

	}

obvio que s.length() == 8

cumprimentos