从“读取二进制文件”出发,到od命令的使用
在桃村实习期间,一直努力做毕业设计,我的毕业设计中有一个内容就是读取SEGY文件。在读取文件时,经常遇到的问题时你要读取浮点型数据,这时你就必须考虑你所使用的计算机CPU使用的是什么类型的浮点类型了?
我遇到的是符点类型转换是IBM32浮点类型和IEEE浮点类型的转换问题,因为不知道我的CPU支持什么类型的float,所以打算做个测试。测试方法就是把浮点数据输入到文件,然后查看文件内的二进制编码!!!就在此时问题出现了
如何才能查看文件内的二进制编码呢?使用less或者cat显示的绝不是你想想的东西,不信你试试,它们是用来显示ASCII的程序。由于实习条件所限,没有上网的环境,归校后google了以下发现了od命令。【顿然开朗,似乎见过耶】
下面说说命令吧!
od命令系统默认的显示方式是八进制,这也是该命令的名称由来(OctalDump)。
od命令一般用来查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。
使用方式
语法:
od [-A 地址进制] [-t 显示格式] 文件
选项介绍:
-A 地址进制: 按指定的进制显示地址信息;
-t 显示格式: 指定数据的显示格式;
-A 指定地址进制包括:
o 八进制(系统默认值)
d 十进制
x 十六进制
n 不打印位移值
-t 指定数据的显示格式,主要参数有:
c ASCII字符或反斜杠序列(如
)
d 有符号十进制数
f 浮点数
o 八进制(系统默认值)
u 无符号十进制数
x 十六进制数
例如:
下图为检测-A的作用,它只是指定按什么进制显示地址而已,文件内容的显示不会受其影响!
【文件hello.txt的内容只有hello五个字符】
从“读取二进制文件”出发,到od命令的使用 - carl - carls life
下图为检测-t的使用,它指定按什么格式显示文件的内容。【文件hello.txt的内容只有hello五个字符】
从“读取二进制文件”出发,到od命令的使用 - carl - carls life
如果你以二进制形式来保存ASCII信息,则你可以使用od -t c filename来显示文件的内容!!