【发布时间】:2014-02-11 13:51:51
【问题描述】:
我在二进制文件中写入整数值如下:-
int val =10;
FileStream fs = new FileStream("BinaryFile.bin", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs, Encoding.Unicode);
bw.Write(val);
//Reading value from binary as:-
FileStream fs = new FileStream("BinaryFile.bin", FileMode.Open);
BinaryReader br = new BinaryReader(fs, Encoding.Unicode);
int x = br.ReadInt32();
检索到的值为:1.092616E + 09
我得到的是这个值而不是 '10'
还有其他方法可以获取int值吗?
【问题讨论】:
-
对我来说很好。你如何显示
x? -
我只是在消息框中显示 x。
-
当您调试代码并越过
ReadInt32行时会发生什么。x是否保持10? -
1) 改用 Encoding.UTF8。 2) 将偏移量显式设置为 0。
-
No x 与它显示的值相同..@Itachi 我应该只使用 Encode.Unicode。有没有其他方法可以使用?
标签: c#