进制、文件和编码的理解

引言

  • 进制、文件、编码是计算机系统的重要概念,应当理解;
  • 本文介绍了进制、文件、编码应当掌握的基本内容

进制

编码

  • 编码是信息从一种形式或格式转换为另一种形式的过程;
  • 常见编码格式:ascii、GBK、UTF-8;
  • 无论何种编码,最终要在计算机中以二进制形式存储,英文和中文占用字节数目不同,具体占用几个字节由编码方式决定;
  • 计算机的文件分为二进制文件和文本文件,二进制文件是经过编译后的,用编辑器打开肯定是乱码,而文本文件中存储了此文件的编码方式,如果编辑器可以自动识别这个文本文件的编码方式,则用编辑器打开文本文件时就会自动正确解码,不会有乱码现象;

文件

  • 计算机的文件有两种:文本文件、二进制文件;
  • 计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的,也可以说文本文件是二进制文件的特殊形式;
  • 两者区别:
    • 文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等,先将文件中的人类可识别的字符转换为一串数字(具体怎么转换由编码方式决定),然后以二进制的形式存储在计算机中;
    • 二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思;
    • 文本文件能够用编辑器打开,二进制文件不能(乱码),二进制文件能够用特定的软件读取其中的内容(WinHex、UltraEdit);
  • 例子1:
    • 文本文件:中文和英文文档、源代码文档;
    • 二进制文件:经过编译后的.class文件、可执行文件.exe;
  • 例子2:
    • 如果用文本文件存储int类型的数字1,其中存储的是1的ascii码(假定用ascii编码)49(一个字节),再将49转换成二进制进行物理存储,读取的时候读到的是49,经过解码显示数字1;
    • 如果用二进制文件存储int类型的数字1,由于int类型占用四个字节,故文件中存储的是四个字节00000000 00000000 00000000 00000001,在读取文件的时候应当告知以int方式读取,即四个四个字节读取;
您的支持是对我最大的鼓励!