PETSc中“ASCII”和“二进制”格式的区别

时间:2010-12-22 08:15:17

标签: ascii binaryfiles file-format petsc

我想知道差异在二进制格式和ASCII格式之间是什么。问题是我需要使用PETSc进行一些矩阵操作,我的所有矩阵都存储在文本文件中。

PETSc有不同的规则来处理这些格式。我不知道这些格式是什么,更不用说我的文本文件是什么格式了。

有没有办法将一种格式转换为另一种格式?

这是一个基本问题;详细的答案将帮助我理解这一点。

2 个答案:

答案 0 :(得分:8)

要回答您的直接问题,ASCII和二进制文件之间的区别在于语义。

ASCII是二进制解释为文本。只有一小部分二进制代码可以解释为可理解的字符(十进制32-126)。其他所有字符都是特殊字符(例如换行符或系统铃声或其他完全不同的字符。)较大的字符可以是其他字母表中的字母

您可以将一般二进制数据解释为ASCII格式,但如果它不是ASCII文本,则可能对您没有任何意义。

作为一般的经验法则,如果您在文本编辑器中打开文件(例如记事本,而不是像微软词一样)并且它似乎完全由字母或主要由字母,数字和空格组成,那么文件可以安全地解释为ASCII。如果您在文本编辑器中打开文件并且它的噪音可能需要被解释为原始二进制文件。

我对你所询问的程序不是很熟悉,如果我在你的情况下我会查阅该程序的文档来弄清楚“二进制”数据流应该采用什么格式。应该有用于生成二进制数据的详细说明或包含的实用程序。如果您自己生成数据,则可能是ASCII格式。

答案 1 :(得分:1)

如果你的matricies在文本文件中,并且你的程序只从二进制文件中读取,那么你可能运气不好。

二进制格式只是它在内部使用的任何数据结构的原始字节(或序列化格式)。

如果没有程序本身的帮助,你几乎没有希望将文本转换成二进制文件。

如果程序有一个导入格式,请查找导入格式。