各位大虾, 我想知道二进制文件和文本文件的区别,都说二进制文件写的速度快,占用的空间少,这个怎么样体现出来,谁有没有现成的程序让我看看!谢谢了各位

解决方案 »

  1.   

    文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。
    二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。文本文件基本上是定长编码的,基于字符嘛,每个字符在具体编码中是固定的,ASCII码是8个比特的编码,UNICODE一般占16个比特。
      

  2.   

    没差别,都是二进制的, 如果真要找个区别的话,那么文本文件中的每个字节的内容都是可视字符,也就是说,文本文件中的每一个字节都是在ASCII码的范围内的。
      

  3.   

    不懂不要紧,不要瞎说让人家往错了学!楼主只看 kyotrue、jennyvenus、wltg2001 的,其它人发言很业余。
      

  4.   

    业余就是细节 二进制文件和文本文件 存成unidcode 文件 真的找不到区别了
      

  5.   

    打个比方,如果你要存一个 int 数值 123456
    用二进制存储的话只有4个字节 也是123456
    用文本方式存储的话就是6个字节 分别是 0x31,0x32,0x33,0x34,0x35,0x36
    如果你用记事本打开这个二进制写的文件的话你看到的是一个乱码的或许只有2个可视字符
    如果你用记事本打开这个文本方式写的文件的话你看到的就是123456
      

  6.   

    感觉上是这样,代码里实验了下,不对啊下面两份代码结果一样
    unsigned int ui=123456;
    fstream binary_file("binary.txt",ios::out|ios::binary|ios::app); 
     binary_file<<ui<<endl;
     binary_file.close();fstream nonbinary_file("nobinary.txt",ios::out|ios::app);   nonbinary_file<<ui<<endl;
    nonbinary_file.close();