从“读取二进制文件”出发,到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. Servlet 全局验证是否登录

    Java过滤器的使用和拦截排除的实现 http://blog.csdn.net/kyunchen/article/details/52187514

  2. 给初学者的20个CSS实用建议

    英文原文:20-useful-css-tips-for-beginners,编译:杨礼鑫 过去就连一个镜像站点,我们都依靠大量的开发人员和程序员进行维护.得益于CSS和它的灵活性使得样式能够从代码中被 ...

  3. SAP 以工序为基准进行发料 机加工行业 Goods Issue to Routing

    SAP 以工序为基准进行发料   这个流程是在业务有关需求,业务需要按照工序发料,一个工单有多个工序,而料是要发到每个工序上,而且没到工序之间在物理上是有距离的,所以仓管员在打印配发单之后希望了解到哪 ...

  4. 使用Maven运行单元测试

    要通过Maven运行单元测试,发出此命令: mvn test 这会在你的项目中运行整个单元测试. 案例学习 创建两个单元测试,并通过 Maven 的运行它.参见一个简单的 Java 测试类: pack ...

  5. Java并发笔记-未完待续待详解

    为什么需要并行? – 业务要求 – 性能 并行计算还出于业务模型的需要 – 并不是为了提高系统性能,而是确实在业务上需要多个执行单元. – 比如HTTP服务器,为每一个Socket连接新建一个处理线程 ...

  6. Erlang HTTP client:ibrowse

    ibrowse: https://github.com/cmullaparthi/ibrowse

  7. at 命令

    每天什么时候执形at 12:00 /every:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday shutdown -r

  8. MySQL提示“错误2:系统找不到指定文件”

    一.问题原因 个人猜测可能是因为安装的是绿色版MySQL,然后在系统变量path中加入了解压后的路径.后续操作上没有跳转到解压后的路径,而是直接在cmd的默认路径下新建MySQL的服务,所以导致此问题 ...

  9. .net 图片上传

      /// <summary>      /// asp.net上传图片并生成缩略图      /// </summary>      /// <param name=& ...

  10. 内存管理 初始化(二)bootmem位图分配器建立 及 使用

    本地的笔记有点长,先把bootmem位图分配器的建立 及  使用过程做下梳理. 都是代码,上面做了标注.开始的汇编部分省略了(涉及的内容不多,除了swapper_pg_dir的分配). 该记录不会再添 ...