【发布时间】:2015-08-10 01:00:54
【问题描述】:
我有一个想要打开、阅读和理解的二进制文件;但我以前从未尝试过使用二进制信息。
各种问题(包括Using structs in C# to read data 和 How to read a binary file using c#?) 帮助我打开并阅读了文件,但我不知道如何解释我到目前为止提取的信息。
我从中获得了一些有希望的数据的一种方法是:
using (BinaryReader reader = new BinaryReader(File.Open(filename, FileMode.Open, FileAccess.Read)))
{
for (int i = 0; i < 100; i++)
{
iValue = reader.ReadInt32();
sb.AppendFormat("{1}={2}{0}", Environment.NewLine, i, iValue);
}
}
返回如下内容:
0=374014592
1=671183229
2=558694987
3=-1018526206
4=1414798970
5=650
6=4718677
7=44
8=0
9=7077888
10=7864460
但这不是我所期望的,我什至不知道这意味着什么 - 我是否成功确定文件包含一堆数字,或者我是否正在查看数据的解释(类似于如何使用错误/不同的编码将为相同的输入返回不同的字符)。
我还有希望还是应该完全停止?
【问题讨论】:
-
是的,您正在查看将其视为整数列表的数据的解释。如果您想知道“正确”的解释是什么,您需要知道文件的格式是什么。
-
我会尝试将其作为字节列表而不是 Int32 读取,然后对它们应用 ASCII 解码。或者更简单地说,使用记事本打开文件。这不会让你一路走到那里,但其中可能有一些实际文本可能会给你一个关于其余部分结构的线索。
标签: c# binaryfiles binary-data