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