8.10 -b 选项¶
-b
选项用于控制二进制文件的输入/输出格式。
在 表数据 一章中已经中已经介绍过,表数据可以是ASCII格式、二进制格式或netCDF格式。ASCII格式很直观,可以直接看到有多少列数据。而二进制格式的数据,GMT在读入数据时无法数据有多少列,也无法知道每一列的格式。因而需要使用 -b
选项告诉GMT输入或输出数据的具体格式。
-b
的语法是:
-b[i|o][<ncols>][<type>][w][+L|+B]
-bi
表示对输入有效,-bo
表示对输出有效。
<ncols><type>
表示有 <ncols>
列个 <type>
类型的数据。多个 <ncols><type>
可以用逗号分隔。每个 <ncols><type>
都可以 w
表示对这些列数据强制做字节序转换。
+L
或 +B
表示整个数据按照little-endian或big-endian字节序读入。
其中GMT支持的数据类型 <type>
可以取:
c
:即int8_t
,字符型u
:即uint8_t
,无符号字符型h
:即int16_t
,两字节有符号整型H
:即uint16_t
,两字节无符号整型i
:即int32_t
,四字节有符号整型I
:即uint32_t
,四字节无符号整型l
:即int64_t
,八字节有符号整型L
:即uint64_t
,八字节无符号整型f
:四字节单精度浮点型d
:八字节双精度浮点型x
:不代表某种数据类型,表示跳过<ncols>
个字节
若未指定 <ncols>
,则假定 <ncols>
为程序所期望的数据列数,所有列均为 <type>
所指定的数据类型。
还可以使用 -h 选项 跳过二进制文件开头的若干个字节。
举几个例子:
-bi2f,1i
表示要读入的二进制数据中有3列,前两列是单精度浮点型,最后一列为四字节有符号整型