salve a tutti 
c'e` un piccolo problema che sto cercando di risolvere con scarso successo, magari voi potete aiutarmi: data una "stringa di bit", cioe` un oggetto di tipo String che come caratteri contiene solo 0 e 1, qual e` secondo voi il modo migliore per prendere i singoli "byte" da questa stringa e tradurli in un vero e proprio carattere secondo il charset specificato?
ho tentato ad esempio di usare il metodo Byte.parseByte, con base 2, ma se gli passo 8 bit da un errore, perche` a quanto pare e` un byte signed, non unsigned... questo e` quello che ho tentato finora:
codice:
public static String toString(String str, String charset)
{
if(!isBitString(str)) return str; //se NON e` una bistring la ritorno
else
{
String ret = null; // output
byte[] arr = new byte[str.length()/8 + 1]; byte array per il parsing della stringa di bit
for(int i=0;i<str.length();i+=8)
arr[i/8] = Byte.parseByte(str.substring(i,i+8), 2); // metodo parseByte che NON riesco a far funzionare come vorrey
try
{
if(charset == null)
ret = new String(arr, "US-ASCII"); // a partire dal byte array, creo la stringa di output
else
ret = new String(arr, charset);
}
catch(Exception e)
{
System.err.println(e.getMessage());
System.exit(0);
}
return ret;
}
}
ma non funziona
suggerimenti? qual e` una maniera semplice di modificare un byte bit per bit?
grazie in anticipo per l'aiuto