从“读取二进制文件”出发,到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字符或反斜杠序列(如\n)
    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来显示文件的内容!!

Linux od命令(以指定进制显示文件)的更多相关文章

  1. linux od命令: 按不同进制显示文件

    介绍:od(octal dump)命令可以以八进制.十进制.十六进制和ASCII码来显示文件或者流,它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用.语法: od [-A 地址进制] [ ...

  2. linux od命令详解

    Linux od命令 Linux od命令用于输出文件内容.od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 将指定文件以八进制形式(默认)转储到标准输出.如果指定了多于一个的文件参数 ...

  3. shell命令行混合进制计算器smartbc

    需要简单的计算的时候,不想用GUI的计算器,能在shell下直接计算就最好了 查了下,有个东西叫 bc,  具体的使用就不赘述了,可以运行bc,然后进去计算,也可以echo传递过去,大概是像这样 ec ...

  4. linux od命令

    用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进制和ASCII码来显示文件.od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Du ...

  5. Linux工具之bc计算器进制的转换

    bc是Linux下的命令行式的计算器. 题目虽然叫任意进制,但是因为bc的限制,输入进制是2~16范围:输出进制是2~999范围.这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处 ...

  6. poj 2305(指定进制,大数取模)

    题意:输入一个进制b,在输入两个基于b进制的大整数 x,y ,求x%y的b进制结果. http://162.105.81.212/JudgeOnline/problem?id=2305 函数: Str ...

  7. Linux sed命令在指定行前后添加内容

    一.在匹配行前后加内容在包含www.baidu.com的行前面或后面添加多一行内容www.qq.com#匹配行前加sed -i '/www.baidu.com/i www.qq.com' domain ...

  8. Linux sed命令删除指定行

    一.删除包含匹配字符串的行## 删除包含baidu.com的所有行sed -i '/baidu.com/d' domain.file 二.删除匹配行及后所有行## 删除匹配20160229的行及后面所 ...

  9. bash 内嵌命令 printf 用于进制转换

    printf - 格式化并显示数据 printf "%d" 0x10 printf "%x" 16

随机推荐

  1. kd-tree理论以及在PCL 中的代码的实现

    (小技巧记录:博客园编辑的网页界面变小了使用Ctrl  ++来变大网页字体) 通过雷达,激光扫描,立体摄像机等三维测量设备获取的点云数据,具有数据量大,分布不均匀等特点,作为三维领域中一个重要的数据来 ...

  2. Android安装后没有完成和打开按钮

    File apkFile = new File(filePath); Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVIT ...

  3. Sword STL之map效率问题

    #include <iostream> #include <map> #include <vector> using namespace std; /* STL容器 ...

  4. Python 字符串操作函数二

    #-*- coding:utf-8 -*- line = "l want watch movie with you ." print(line.center(50)) print( ...

  5. 使用VS2012生成DLL文件(1)

    文章转载自:1. http://blog.sina.com.cn/s/blog_45bcb4c3010140b3.html 一:生成DLL 1:创建DLL工程 文件->新建->项目-> ...

  6. Assets/FollowDestination.cs(6,13): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?的解决方案

    问题的出现与描述 在Unity中创建一个NPC,使它一直跟踪一个目标Destination,C#脚本代码如下,错误信息描述如下 using System.Collections; using Syst ...

  7. Mac 创建证书(以 创建gdb证书 为例 )

    open /Applications/Utilities/Keychain\ Access.app/ 打开 钥匙串访问 继续继续 创建完毕. Now that we have a certificat ...

  8. 切图psd to html页面制作技术学习与总结

    切图流程和注意事项 切图的正确流程做法是: 1 写框架.拿到psd后,先不要做别的,直接在文本编辑器中将网页的框架写出来,不要假设这块将来css要去怎么渲染,完全自然化的标签,不加任何的css. 2 ...

  9. MyBatis where标签语句

    当 where 中的条件使用的 if 标签较多时,这样的组合可能会导致错误.当 java 代码按如下方法调用时: @Test public void select_test_where() { Use ...

  10. fedora26在编译s3c2440内核时make menuconfig *** Unable to find the ncurses libraries

    [root@fedora-26 linux-2.6.32.2]# make menuconfig *** Unable to find the ncurses libraries or the *** ...