1
vayn Jul 5, 2011
is_string() 不行么
|
2
Sunyanzi Jul 5, 2011
没办法 ... 高位判断的方式不适用于中文 ...
如果只包含英文数字和键盘上的符号 ... 可以用正则或者用函数取巧 ... 但是假如是 UNICODE 字符串 ... 那么没有任何简便的办法可以区分 ... |
3
dongsheng Jul 5, 2011
如果二进制只是可执行文件的可以用unpack解出来看看是否是可执行文件的头
|
4
reus Jul 5, 2011
二进制文件也可以看成是ASCII编码的文本,怎么判断呢?
|
5
reus Jul 5, 2011
或者用finfo类函数看文件的mine_type..
|
6
dongsheng Jul 5, 2011
@reus 二进制文件不能看成ASCII编码,偶尔会有几个字节会恰好在ASCII的范围内而已,可执行文件都有特殊的头,比如linux的可执行文件都有elf文件头。
|
8
darasion OP 解释一下,
读入变量的是 hadoop 上的文件的最后几行(因为文件规模很大,几百G,上T 的都有),文件类型不一定是什么。 现在主要是需要看下文件里边记录的都是啥。但有些不是文本的,就要判断一下。 因此引出了这个问题。 |
9
TheOnly92 Jul 5, 2011
用 preg_match 检查是否存有非-ASCII 字串?
|
10
Hyperion Jul 5, 2011
汗, 判断文件类型只能识别文件头... 设计决定需求, 需求奇怪 设计必然奇葩...
|