Java jr - leitor binario - string

5 respostas
F

Bom galera, sou novo aqui no fórum e gostaria de uma ajuda de vcs…tenho uma classe que faz toda uma leitura de mensagens originadas de um TEF…o meu problema : tenho que desenvolver um sisteminha que “leia” esta mensagem e converta ela para binários…ou seja, recebo uma stringe tenho que converter para binários…até tudo ok…fiz uma interface gráfica do bit1 ao bit 127 (label e textfield) e campo de mensagem (textarea)…como que devo proceder (um exemplo) de como passar a mensagem completa (campo textarea) e retornar cada bit em seu devido textfield? sou iniciante em java…
abraços!

5 Respostas

alandiniz

Só corrigindo ali em cima ta Stringe -> String.

pra converter vc cria um método e usa String.toBinaryString(int).

ou então

http://javafree.uol.com.br/topic-871976-String-em-binario.html

seria +ou- isso?

F

não é nem o caso da conversão… eu tenho o “conversor”…eu teria que digitar a mensagem em um campo e “clicando” em um “botão converter”, ele converteria para binário e largaria cada bit convertido em seu respectivo textfield…exemplo : 0700 = [telefone removido]…conversao tudo ok, agora pegar o binário e passa-lo para o campo “bit1”…como seria isso?

alandiniz

Hmm pode postar parte do código?

pelo q eu entendi aqui você ta usando swing?

seria +ou- isso eu axo

String a = [telefone removido];
bit1.setText(a);

só um exemplo a grosso modo…
axo q falei ‘merda’ + pelo q entendi foi isso…

douglas_vidotto

Você vai ter que criar uma lógica para capturar cada um dos bits dentro dos bytes que você pegou da String usando os operadores << e >>. Por exemplo, se você quer pegar o bit menos significativo dentro do seu byte, você pode fazer:

byte byteDaString = 3; //equivale a 00000011
byte comparadorAuxiliar = 1;
byte primeiroBit = (byte) (byteDaString & comparadorAuxiliar ); //equivale a fazer a operacao 00000011 AND 00000001
//primeiroBit agora possui o valor 1, que corresponde ao bit 1

Agora, queremos pegar o segundo bit. Pode-se fazer:

comparadorAuxiliar = (byte)(comparadorAuxiliar &lt;&lt; 1); //equivale a 00000010
byte segundoBit = (byte) (byteDaString & comparadorAuxiliar); //equivale a fazer a operacao 00000011 AND 00000010
segundoBit = (byte)(segundoBit &gt;&gt; 1); //O segundo bit também é 1.

E assim por diante. Claro que você usará mais variáveis, irá colocar essa lógica em um loop e tudo o mais. Mas a ideia é por aí.

F

ok…esta parte entendi…tenho feito aqui uma interface, digamos um label bit1 e um textfield nb1…agora tenho que passar o valor da conversao de hexa para bin toda vez que eu clicar no botao generate…como devo proceder?

Criado 11 de outubro de 2011
Ultima resposta 11 de out. de 2011
Respostas 5
Participantes 3