Bueeeenas foreros...
De la forma más respetuosa solicito su ayuda!!!!
Resulta que tengo este código.
Código:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyBytes {
public static void main(String[] args) throws IOException {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("C:\\MiCarpeta\\Entrada.txt");
out = new FileOutputStream("C:\\MiCarpeta\\Salida.txt");
int c;
while ((c = in.read()) != -1) {
out.write(c);
System.out.println(Integer.toBinaryString(c) +" " + c + " " + (char)c);
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
}
Y me tira este resultado...
10100100 164 ¤
11100011 227 ã
10111100 188 ¼
1100001 97 a
1000001 65 A
La duda viene cuando reviso esos números con la tabla ASCII.
Resulta que el caracter A en ASCII es 65, y está bien.
Así como el caracter a, en ASCII ES 97, y está bien.
Pero el problema llega cuando reviso los otros caracteres, cuyos números no coinciden con la tabla extendida del ASCII
Y lo curioso es que me imprime el caracter como si supiera que el corresponde a ese número...
Porque ocurre eso???
Aqui un link de las tablas ASCII.
http://www.juntadeandalucia.es/averr...la%20ASCII.pdf