文本文件与二进制文件

文本文件与二进制文件:文本文件(只有行结构的字符编码文件(ANSI、Unicode,UTF-8),没有别的控制字符);二进制文件(有特定的存储格式以及别的控制符,如图片,声音,word文档,exe可执行程序等等)。

先创建一个u.txt文本文件:并存入以下内容

计算一下字节大小:汉字,换行符占2个字节,其余占一个字节,应该为21个字节

发现同样的数据:

以ANSI方式存储的占21个字节。

以utf-8存储的占24个字节 。因为在utf-8中汉字占3个字节

以Unicode存储的占38字节。

为了更好的理解文本文件和二进制文件,我们先做个小实验。

文本文件:

//将1234字符串写入到s.txt中	
FILE* fp = fopen("s.txt","w");
fprintf(fp, "%s", "1234");
fclose(fp);

然后去查看文件大小,发现为4个字节。然后将文件拖入WinHex软件中:

发现是以ASCII码存储在文件中。

二进制文件:

//将整数1234以二进制存储到t.dat文件中
int x = 1234;
FILE* fp = fopen("t.dat", "wb");
fwrite(&x, sizeof(x), 1, fp);
fclose(fp);

发现t.dat的文件大小也为4个字节。然后将文件拖入WinHex软件中:

以小端机形式存储,1234的16进制为04D2。

posted @ 2022-04-07 13:48  宣哲  阅读(561)  评论(0编辑  收藏  举报