将文件分类为二进制文件或文本文件的决定因素是什么?
例如:
考虑下面的 C 程序
注意:在运行程序之前确保 binary.txt 不存在。
观察:
文件创建“binary.txt”,内容为 TEXTFILE
#include <stdio.h>
int main()
{
int arr[2] = {1415071060,1162627398};
FILE *fp = fopen("binary.txt", "wb");
if(fp == NULL)
{
printf("Error opening file\n");
exit(1);
}
fwrite(arr, sizeof(arr), 1, fp);
fclose(fp);
return 0;
}
但是只有创建者知道它是以二进制模式创建的,这应该称为二进制文件。
任何打开文件“binary.txt”的人都认为它是 正文 文件。
一般用户应该怎么称呼这个文件 - 二进制 或 正文 文件?
最佳答案
@JohnBollinger 在评论中总结得最好。
text vs. binary is not a fundamental file characteristic on modern operating systems, but rather a differentiation between how files are interpreted.
假设一个文件包含四个字节,字节的十六进制值如下:
0x41 0x42 0x43 0x44
如果在使用 ASCII 编码的系统中将这些字节解释为字符,您将得到字符
ABCD
.如果您将这些字节视为 4 字节整数,您将获得值
0x41424344
(1094861636 十进制)在大端系统和 0x44434241
(十进制为 1145258561)在小端系统中。就计算机而言,它都是二进制的。至于他们的意思,这完全是一个解释的问题。
关于c - 为什么二进制文件不是文本文件,所有文本文件都是二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51754913/