C#在不知道文件格式的情况下读取二进制文本文件

C#在不知道文件格式的情况下读取二进制文本文件,c#,.net,binary,binaryreader,C#,.net,Binary,Binaryreader,好的,我有一个使用BinaryWriter编写的二进制文本文件。 文件格式已丢失,原因是文档质量差 我正在使用BinaryReader来读取文件,但我唯一能做的就是通过反复试验,逐步遍历文件并猜测是否应该使用BinaryReader类的ReadInt64()、ReadString()等 是否仍有方法逐级检查文件并自动确定下一个值格式?否。BinaryWriter不会将任何类型信息打包到写入的文件中,因此没有方法对其进行反向工程—正如您所发现的,除了尝试和错误之外。没有“二进制文本文件”这样的东西

好的,我有一个使用BinaryWriter编写的二进制文本文件。 文件格式已丢失,原因是文档质量差

我正在使用BinaryReader来读取文件,但我唯一能做的就是通过反复试验,逐步遍历文件并猜测是否应该使用BinaryReader类的ReadInt64()、ReadString()等


是否仍有方法逐级检查文件并自动确定下一个值格式?

否。BinaryWriter不会将任何类型信息打包到写入的文件中,因此没有方法对其进行反向工程—正如您所发现的,除了尝试和错误之外。

没有“二进制文本文件”这样的东西。文件是二进制的,这意味着字节表示任意(但已知)形式的数据,或者它是文本文件,这意味着字节在已知文本编码之一中编码文本字符。您可以考虑打开二进制文件(HEX)文件查看器中的文件,以便检查格式。这将使您更好地了解如何阅读它,而不是在
BinaryReader
中使用试错法。VisualStudio将显示一个二进制文件。这不是我想要听到的。