gpt4 book ai didi

c - 为什么二进制文件不是文本文件,所有文本文件都是二进制文件?

转载 作者:行者123 更新时间:2023-12-03 20:16:51 25 4
gpt4 key购买 nike

将文件分类为二进制文件或文本文件的决定因素是什么?

例如:
考虑下面的 C 程序

  • 创建文件二进制 模式
  • 将两个整数写入文件“binary.txt”。

  • 注意:在运行程序之前确保 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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com