有一个二进制文件,编码格式是GB2312的。
其中的long、short、int类型都可以用binaryreader.read32/16读出来,char[]可以用binaryreader.readbytes读取,然后编码成string类型。
但是char的不知道怎么读了,请大家帮忙看看怎么读char类型?
msdn的例子是这样的:
char[] memoryData = new char[5];
memoryData[i] = binReader.ReadChar();
我试了这样去读一个单独的char:
char[] memoryData = new char[1];
memoryData[0] = binReader.ReadChar();
但是得出的结果是:SYSTEM.CHAR[]
为什么呢?
下边是我试过的两种方法:
第一种:
char c = br.ReadChar();
Console.WriteLine(c.ToString());
这样读取的话,得出的竟然是一个笑脸,我真是晕啊,如图:
第二种:
byte[] bt = new byte[2000];
bt = br.ReadBytes(1);
str = GB.GetString(bt);
Console.WriteLine(str);
得出的结果还是一个笑脸图像,为什么呢?
请大家帮帮我,祝大家国庆快乐!