java二进制数据存储问题
小弟想看下二进制存储的数据结构,就弄了个下面小程序
import java.io.*;
class Erjinzhi{
public static void main(String args[]) throws Exception {
FileWriter myfile=new FileWriter("a.dat");
char i;
for(i=0;i<256;i++) {
myfile.write((char)(i));
myfile.flush();
}
}
}
以上代码主要是想让程序将ASCII码从00到255存到a.dat中,然后用UltraEdit查看。预期结果十六进制应该是00一直到ff,但不看不知道,我的结果是下图:
从00到7f后突然变成3f一段个数后又变成其他的了,不知道是什么原因造成,谁在自己电脑上试试,给小弟指点指点。。
谢谢啦…… --------------------编程问答-------------------- 0x7F,也即127以前,都是标准ASCII字符集,0x80(128)就不是了,所以在进行char转换的时候就错乱了。
程序修改下:
FileOutputStream myfile = new FileOutputStream("a.dat");
char i;
for(i=0;i<256;i++) {
myfile.write(i);
}
myfile.close();
补充:Java , Web 开发