• hexdump 工具使用 和 .txt 文件的二进制查看


    最近使用txt文件进行数据处理的时候,突然发现txt文件是怎样编码数据的了,它是以二进制来进行存储的吗?为了知道这个情况,我使用hexdump工具进行查看txt文件的二进制形式,并顺道进行学习了hexdump文件的使用:

    hexdump 一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件:

    hexdump [选项] [文件]…
    -n length:格式化输出文件的前length个字节
    -C:输出规范的十六进制和ASCII码
    -b:单字节八进制显示
    -c:单字节字符显示
    -d:双字节十进制显示
    -o:双字节八进制显示
    -x:双字节十六进制显示
    -s:从偏移量开始输出
    -e 指定格式字符串,格式字符串由单引号包含,格式字符串形如:’a/b “format1” “format2”。每个格式字符串由三部分组成,每个由空格分割,如a/b表示,b表示对每b个输入字节应用format1格式,a表示对每个a输入字节应用format2,一般a>b,且b只能为1,2,4,另外a可以省略,省略a=1。format1和format2中可以使用类似printf的格斯字符串。
    %02d:两位十进制 %03x:三位十六进制 %02o:两位八进制 %c:单个字符等 %_ad:标记下一个输出字节的序号,用十进制表示 %_ax:标记下一个输出字节的序号,用十六进制表示 %_ao:标记下一个输出字节的序号,用八进制表示 %_p:对不能以常规字符显示的用.代替 同一行显示多个格式字符串,可以跟多个-e选项

    常用命令:

    格式化输出文件
    
    hexdump test
    
    格式化输出文件的前10个字节
    
    hexdump -n 10 test
    
    格式化输出文件的前10个字节,并以16进制显示
    
    hexdump -n 10 -C test
    
    格式化输出从20开始的10个字节,并以16进制显示
    
    hexdump -n 10 -C -s 20

    使用hexdump 查看文本文件:

    The licenses for most software and other practical works are designed
    to take away your freedom to share and change the works.  By contrast,
    the GNU General Public License is intended to guarantee your freedom to
    share and change all versions of a program--to make sure it remains free
    software for all its users.  We, the Free Software Foundation, use the
    GNU General Public License for most of our software; it applies also to
    any other work released this way by its authors.  You can apply it to
    your programs, too.
    hexdump -C hexdump.txt

    查看结果:

    可见,txt文件本身是没有任何格式的,只是对ascii字符进行转译;所以txt文件也能以 'rb' 二进制的形式进行打开并按照每次

    8个bit进行读取,并进行解析;

    参考文件:

    https://www.cnblogs.com/kerrycode/p/5077687.html

  • 相关阅读:
    Java hibernate 遇到的问题:could not read a hi value
    Java 小知识
    Java 在使用@Select遇到的问题:拼接字符串将数组拼为了字符串
    飞逝的光阴
    终于回来了
    再说创客
    离开一段时间
    抛弃QP
    关于创客
    对DTU系统结构的重新思考
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/hexdump-and-txt.html
Copyright © 2020-2023  润新知