在 Mathematica 中编写原始数据文件



我在Mathematica中有一个数字,一个很大的数字。 我什至以 16 为基数的形式得到了这个数字,使用 OutputForm[] . 我基本上是在尝试以十六进制格式将数字写出到文件中。

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

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

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

我希望将数字的十六进制形式转储为数据。

我试过ExportBinaryWriteDumpSave,但想不通。

我只是头疼,我想因为我看不到我需要做什么。

我尝试过的一件事是做:

Export["file.raw", 123456];

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

很想得到这个工作谢谢。

请让我们知道您希望在输出文件中看到的内容,以及您希望使用它的目的。 您是否希望计算机使用人类可以读取的内容或指定格式的内容? 请举例说明。

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

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

In[33]:= IntegerString[123456, 16]
Out[33]= "1e240"
str = OpenWrite[];
WriteString[str, IntegerString[123456, 16]];
Close[str];
FilePrint[%]
1e240

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

最新更新