Java读取十六进制文件

| 作为较大程序的一部分,我需要从十六进制文件中读取值并打印十进制值。 似乎工作正常;但是,所有从80到9f的十六进制值都给出了错误的值。 例如80十六进制给出十进制值为8364 请帮忙。 这是我的代码:
String filename = \"pidno5.txt\";
FileInputStream ist = new FileInputStream(\"sb3os2tm1r01897.032\");       
BufferedReader istream = new BufferedReader(new InputStreamReader(ist));
int b[]=new int[160];       
for(int i=0;i<160;i++)
    b[i]=istream.read();
for(int i=0;i<160;i++)
    System.out.print((b[i])+\" \");
    
已邀请:
        如果您尝试读取原始字节,那不是您在做什么。 您正在使用读取器,该读取器读取字符(未指定编码,因此默认为UTF-8)。 要读取字节,请使用InputStream(并且不要将其包装在Reader中)。     
        您也可以使用其他编码:
BufferedReader istream = new BufferedReader(new InputStreamReader(ist, \"ISO-8859-15\"));
    

要回复问题请先登录注册