Boa tarde pessoal,
Sou novo no fórum e esse é meu primeiro post, eu ainda estou longe de um usuário avançado mas já tenho experiencia com programação em outras linguagens e estou no java a alguns meses.
Estou desenvolvendo um projetinho de criptografia para a faculdade, e para isso pretendo usar o valor ASCII e Binário dos caracteres que serão criptografados.
O problema é que fui fazer alguns testes pra verificar se dava tudo certo na conversão usando cast e estranhamente alguns valores int não são convertidos corretamente.
Fiz uma classe bem simples abaixo para exemplificar o problema, se vocês repararem todos os inteiros de 128 a 159 são convertidos para “?”, que equivale a 63 na tabela ASCII. Será algum problema de configuração da minha máquina ou existe outra forma mais correta de fazer isso?
import java.io.FileReader;
import java.io.FileWriter;
import static java.lang.System.err;
public class Teste {
public static void main(String[] args) {
try{
try {
FileWriter file = new FileWriter("C:/fontes/teste.txt", true);
for(int i = 0;i < 255; i++) {
file.write(String.valueOf(i) + " = " + String.valueOf((char)i) + "\n");
}
file.flush();
file.close();
} catch (Exception ex) {
}
FileReader arquivo = new FileReader("C:/fontes/teste.txt");
while(arquivo.ready()){
err.println((int)arquivo.read());
}
} catch (Exception ex) {}
}
}
Agradeço a todos.