同上

解决方案 »

  1.   

    http://www.cndiy8.com/ask17/how101212.htm
      

  2.   

    举个例子
    象.cs,.txt是文本
    exe,dll等是二进制的
      

  3.   

    当然不对..
    全是0xFF的文件你认为是文本文件么?如果只对ascii来说,含有不可打印字符的文件都算作二进制文件,例如WinCVS提交文件就分为文本 二进制 unicode
    如果代码里面有中文,而添加为文本文件,它会警告'xxx.cpp' has some escape characters in it (0x00-0x20, 0x80-0xFF), you should correct it first
      

  4.   

    另外一个问题
    如何判断文件中是否有中文我的思路是判断每个字符的ascii码
    有人说中文的ascii都是小于0的,但是我在.net中取出来的时候都是5位整数
    如下:
    你好,中国,a
    对应:20320 ,22909 ,65292 ,20013 ,22269 ,44 ,97
      

  5.   

    汉字占两字节,第一字节范围是0x80 - 0xFE;第二字节范围是 0x40 - 0xFE,但不能为0x7F
      

  6.   

    根本就没有“正解”,所谓的“文本文件”“二进制文件”只不过是人为的
    一种主观概念区分,并没有精确的判断逻辑。除非你自己定义一个标准,然后按标准去判断,就象
    http://www.cndiy8.com/ask17/how101212.htm 里的某些回复一样:
    先定义“文本文件”只能包含的字符范围,然后通过读字节,判断字节是否超出
    定义范围....