Wolfram mathematica 在Mathematica中编写原始数据文件

Wolfram mathematica 在Mathematica中编写原始数据文件,wolfram-mathematica,hex,Wolfram Mathematica,Hex,我在数学中有一个数字,一个很大的数字。我甚至使用OutputForm[]以16进制的形式得到了这个数字。我基本上是想把一个数字写进一个十六进制格式的文件中 请记住,在这些示例中,我使用的是123456,而不是70000位数字 每当我使用一个简单的Put[123456,“file.raw”]命令编写一个文件时,我都会得到一个原始数据文件,其中包含实际数据3132333435360A 如果我使用Put[OutputForm[BaseForm[123456,16]],“file.raw”命令,我会得到

我在数学中有一个数字,一个很大的数字。我甚至使用
OutputForm[]
以16进制的形式得到了这个数字。我基本上是想把一个数字写进一个十六进制格式的文件中

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

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

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

我想十六进制形式的数字转储为数据

我尝试了导出、二进制写入和转储保存,但都没有找到答案

我只是有点头痛,我想是因为我看不到我需要做什么

我做过的一件事是:

Export["file.raw", 123456];
但是文件不够原始。我的意思是有标题数据和额外的垃圾


非常愿意让它工作,谢谢。

请告诉我们您希望在输出文件中看到什么,以及您希望它用于什么。你想要人类可以阅读的东西,还是计算机可以使用特定格式的东西?请提供一个例子


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

我想你要找的是IntegerString[\u16]:

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

Out[33]= "1e240"

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

FilePrint[%]

1e240

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

我不明白用十六进制格式写出一个数字是什么意思。您是要创建一个文本文件,其中包含以十六进制表示的字符,还是创建一个二进制文件,其中每组4位代表一个h你的数字中有十六进制数字吗?@rezwits,你能准确地定义你所需要的“原始”内容吗输出文件。例如,是否需要一个字节序列,每个字节表示一个十六进制字符?如-'1A5'中所示,将给出一个包含二进制00000001 00001000000101的文件。听起来您将十六进制表示法与二进制数据混淆。您可能需要
BinaryWrite
。不过还有其他一些微妙之处,例如endianness,确切的二进制表示法(您使用实数还是整数?您需要使用的最大数字是多少?)