作为更大程序的一部分,我需要从hex文件中读取值并打印十进制值.它看起来工作正常; 但是,从80到9f的所有十六进制值都给出了错误的值.例如80 hex给出小数值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])+" ");
Run Code Online (Sandbox Code Playgroud)
如果您尝试读取原始字节,那么这不是您正在做的事情.
您正在使用读取器,它读取字符(在您未指定的编码中,因此默认为某些内容,可能是UTF-8).
要读取字节,请使用InputStream(并且不要将其包装在Reader中).
归档时间: |
|
查看次数: |
5239 次 |
最近记录: |