Bom dia
Ja estou farto de procurar na net sobre isto, mas não encontrei nada que me interesse, daí tar a escrever este topico pra ver se voces me podem ajudar…
Como sabem no codigo ASCII as letras do latin comum podem ser escritas apenas com 1 byte (8 bits)
O que eu quero fazer é:
tenho uma String do genero:
String s = "ABC 123 DEF";
e quero arranjar maneira de ir buscar o codigo ASCII dos caracteres e por cada código num array de 8 bits
do genero: A - 00001010
B - 00001011
3 - 00000011
etc
cara o ideal é vc ter a tabela ASCII carregada no sistema, e procurar character por caracter no programa e comparar com a tabela ASC, vai ser um códigomeio grande
lol, ao k parece ja consegui…ultimamente anda com esta mania, faço as perguntas e dps mais tarde encontro a solução lol
Para quem quiser saber, era tão simples quanto isto:
String s = "ABC123";
count=s.length();
for(int i=0; i<count; i++) {
a = s.charAt(i);
String by2 = Integer.toBinaryString(a);
int[] valorInt2 = new int[by2.length()]; //Cria um array com a dimensão do string acima mencionado (numero binario)
System.out.println(a+" em string binario = "+by2);
}
class Binario {
/**
* Completa com zeros à esquerda, de forma que fique com o tamanho desejado.
* @param s A string a completar com zeros à esquerda.
* @param tam O tamanho desejado.
* @return Uma string completada com zeros á esquerda e com o tamanho desejado.
*/
public static String completaComZerosAEsquerda (String s, int tam) {
int len = s.length();
if (len >= tam)
return s;
else {
StringBuffer sb = new StringBuffer();
for (int i = len; i < tam; ++i) {
sb.append ('0');
}
sb.append (s);
return sb.toString();
}
}
public static void main (String[] args) {
System.out.println (Integer.toString ('A', 2)); // note que isto não imprime os zeros à esquerda
System.out.println (completaComZerosAEsquerda (Integer.toString ('A', 2), 8)); // completa com zeros à
esquerda, para mostrarmos 8 casas binárias.
}
}