【发布时间】:2014-01-26 04:34:23
【问题描述】:
我收到了一个二进制文件,我需要阅读其中的一部分。文件格式向我描述为:
第 1 行:N 行
第 2 行:xarray1,yarray1
第 2 行:xarray2,yarray2
第二行:xarray3,yarray3
第 2 行:xarray4,yarray4
第 2 行:xarray5,yarray5
第 2 行:xarray6,yarray6
第 6 行:xarray7,yarray7
其中 NLine 是一个整数(具体为 499),每个 xarray 和 yarray 都是一个长度为 NLine 的浮点数组。我实际上只真正关心 xarray7 和 yarray7,但我很高兴为此目的将它们全部读入数组,而不是使用其他的。无论如何,我只需要将数组转换为 ascii 格式,这样我就可以用它们做其他事情,或者甚至只是将它们转换为我可以在本地处理并打印出来的数组。我很高兴在 C 或 Mathematica 中做到这一点。
很遗憾,我无法提供数据本身或类似文件的示例 - 以上就是我所知道的全部内容。如果有人能提供一些代码让我进入我的文件(或者告诉我文件不可能是这种确切的格式或其他东西),那将不胜感激。
谢谢!
【问题讨论】:
-
二进制文件如何包含行?
-
不知道。给我发文件的人可能完全错了。我只是转发他们发给我的信息。我通常不处理二进制文件,所以我不知道约束是什么。
-
嗯,您打开文件查看其内容了吗?读取包含浮点数的二进制文件可能会很棘手,因为跨平台的浮点数和整数格式不同
-
二进制文件通常不使用回车换行。它们通常由特定于应用程序的格式(或一些通用二进制格式)组成。我们将需要知道二进制文件的格式——即,什么二进制值将不同的行/记录和数组分开......可能还有数字的格式!,这不是我们真正能猜到的。如果它是您在示例中编写的纯文本,那么它是完全不同的......
-
不知道怎么看文件的内容。它是二进制的,所以除非我能把它读成什么东西,否则我看不到里面有什么。
标签: c arrays binary wolfram-mathematica