二进制文件中汉字的问题
我有个二进制文件,是在VB中用Open…For Binary…保存的,里面有中英文字符串和数字,现在在C#中读取字符串时出了问题。
我用
FileStream fs = new FileStream(strTrcName, FileMode.Open,FileAccess.Read);
BinaryReader r = new BinaryReader(fs,Encoding.Default);
打开二进制文件
用
strName1 = new string(r.ReadChars(10));
strName2 = new string(r.ReadChars(10));
strName3 = new string(r.ReadChars(10));
读取长度为10个字节的字符串,如果是纯英文的没问题,但是如果有中文,它就会把一个汉字认为是一个字符,其实它是两个字节,比如“李明”+8Null它会认为是ReadChars(10),而“李小明”+7Null它也会认为是ReadChars(10)。
我想在ReadChars(n)中用n表示精确的字节数,这样在读取后面的信息时在字节上不会错位,请教各位高人应该怎么做。。。。