在Mathematica中编写原始数据文件

时间:2012-05-01 03:41:41

标签: wolfram-mathematica hex

我在Mathematica中有一个很多的数字。我甚至使用OutputForm[]以16的形式得到了这个数字。我基本上试图以十六进制格式写出一个数字。

请记住,我在这些示例中使用了123456而不是我的70,000位数字。

每当我使用简单的Put[123456, "file.raw"]命令编写文件时,我会得到一个原始数据文件,其中包含一行结尾的实际数据3132333435360A

如果我使用Put[OutputForm[BaseForm[123456, 16]], "file.raw"]命令,我会得到一个原始数据文件,其中包含十六进制格式31653234300A202020202031360A的数据,但仍未写为原始数据。

我希望数字的十六进制形式作为数据。

我尝试了ExportBinaryWriteDumpSave,但无法理解。

我只是觉得头疼我猜是因为我看不到我需要做的事情。

我尝试过的一件事是:

Export["file.raw", 123456];

但文件不够粗糙。我的意思是有标题数据和额外的废话。

很想得到这份工作的感谢。

2 个答案:

答案 0 :(得分:0)

请告诉我们您希望在输出文件中看到的内容以及您想要使用的内容。您是否想要人类可以阅读的东西,或者计算机使用的指定格式的东西?请举个例子。

使用Put[]的两个示例正确地提供了包含与输入的文本表示相对应的ASCII字符的文件,这些文件是人类可读的。

答案 1 :(得分:0)

我认为你要找的是IntegerString [_,16]:

In[33]:= IntegerString[123456, 16]

Out[33]= "1e240"

str = OpenWrite[];
WriteString[str, IntegerString[123456, 16]];
Close[str];

FilePrint[%]

1e240

(使用WriteString而不是Put避免使用字符串字符