1.区别
文本文件和二进制文件的区别在于打开这个文件的程序在对文件内容的解释上。
如果是文本文件,使用任何一种文本编辑器打开可以展现出人类可读信息字符,编码都符合某种编码方式,如ASCII、UTF8、GB2312等
如果是二进制文件,肯定没有编码方式,使用文本编辑器打开展现出来的就是一些乱七八糟的字符。使用UtralEdit可以显示原始的二进制文件,显示的就是原始16进制。右侧自动选了一种编码方式进行翻译成文本,比如他自动选择的就是GBK,显示出来就是乱码。下图打开的一个png图片格式:
(疑问:为什么utraledit 选择了另外一种编码方式的时候 左边的二进制的值也变了??)
有些二进制文件使用通用的规范进行编码,比如常见的图片格式JPEG,PNG,使用看图软件就能正常打开显示图片。
有些二进制文件编码格式是程序自定义规范进行编码,对于这种二进制,只有程序的开发者自己知道该文件所对应的编码规范,进行解码使用。
2.修改二进制文件
使用vim修改:
vim -b 文件名
:%!xxd ——转化成16进制
然后进行修改二进制
:%!xxd -r——转回去
:wq
https://www.cnblogs.com/killkill/archive/2010/06/23/1763785.html
3.把二进制文件转化成其他文本文件搜索ASCII字符
1.先使用iconv命令://IGNORE忽略那些翻译不了的
iconv -f GB2312 -t UTF-8//IGNORE {} -o $filename.text
2.再使用grep 对 *.text 进行搜索想要查找的ASCII字符