---
author: 田冬冬
date: 2024-09-09
---

# 二进制表

简单地说，ASCII表与二进制表的区别在于前者使用 `fprintf` 输出而后者使用
`fwrite` 输出。二进制表的文件大小通常比对应的ASCII表小很多，且读写速度更快。
对于有大量输入输出需求的任意而言，可以将表数据以二进制表的形式保存，以提高
数据文件的读写效率。

在写表数据时，可以使用 {doc}`/option/binary` 告诉GMT要将数据以二进制格式写出，
并指定二进制文件的具体数据格式。同理，在读取二进制表数据时，GMT是无法猜测数据的
具体格式的。因而需要使用 {doc}`/option/binary` 告诉GMT要读入的数据中有多少个字段，
每个字段的数据类型等。

二进制表中也可以有文件头记录，用 {doc}`/option/h` 可以指定要跳过的字节数。
二进制表中通常用一个值为NaN的记录作为数据段头记录来标记每段数据的开始。
