请教个问题,Linux下如何区分二进制文件和文本文件?
(2012-04-13 07:22:09)
标签:
文本文件
二进制
linux
如何
杂谈
请教个问题,Linux下如何区分二进制文件和文本文件?RT,我想全文索引硬盘中的文本文件(包括程序文件、脚本、txt等等),但如果是二进制文件就不进行索引了。
所以我想问问如何区分文本文件和二进制文件呢?file命令原帖由 cjaizss 于 2007-5-1 22:59 发表
file命令
是个什么原理呢?
用程序读http://www.3wanmei.com的时候通过什么来判断啊?原帖由 cugb_cat 于 2007-5-1 23:06
发表
是个什么原理呢?
用程序读的时候通过什么来判断啊?
file命令一般调用库函数实现,核心算法比判断是“文本文件”还是“二进制文件”复杂。
其实要解决你的问题,其思路并不难,想想“ASCII文本文件”的定义,不就搞定了?
既然已经有现成的file命令,file+grep就可以搞定了http://www.51banyun.com,使用shell的话,就不用像C那么费事啦原帖由
cjaizss 于 2007-5-1 23:12 发表
file命令一般调用库函数实现,核心算法比判断是“文本文件”还是“二进制文件”复杂。
其实要解决你的问题,其思路并不难,想想“ASCII文本文件”的定义,不就搞定了?
既然已经有现成的file命令,file+grep就 ...
不用shell的,需要用C实现,不只是判断二进制文件和文本文件,还要把视频、图片等过滤掉,当然,压缩包也暂时不考虑~
ASCII文件的定义是不是指包含的都是可打印字符?如果是这样的话,如果二进制文件中包含可打印字符怎么办?原帖由 cugb_cat 于
2007-5-1 23:20 发表
不用shell的,需要用C实现,不只是判断二进制文件和文本文件,还要把视频、图片等过滤掉,当然,压缩包也暂时不考虑~
ASCII文件的定义是不是指包含的都是可打印字符?如果是这样的话,如果二进制文件中包含可 ...
文件都是二进制的,所谓的“二进制文件”应该是指本意不是用来当文本文件存储的文件。
如果一个本意不是拿来当文本存储的文件正好每个字符都是可打印的,被识别成了文本文件,那也是没办法的事情。原帖由 cugb_cat 于
2007-5-1 23:06 发表
是个什么原理呢?
用程序读的时候通过什么来判断啊?
直接看 file 的源码。原帖由 MMMIX 于 2007-5-1 23:26
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。