一、为什么编码
计算机只能处理二进制,所以需要把要存储的信息编码成二进制,从而存储在计算机中
二、计算机中的编码与解码是怎么实现的
首先要区分两个概念
第一,编码方式,编码方式就是一种把字符映射成为二进制的方式。不同的编码方式映射形成的编码所占用的空间不同。常见的编码方式有UTF-8、GBK、ASCII等
第二,字符集,字符集是一组字符的集合,常见的字符集有Unicode、ASCII、GBK等。不同的字符集之间的区别就是其所包含的内容不同,比如ASCII字符集中不包含中文字符。
编码就是选用一种编码方式,将对应的字符集映射成为二进制的过程。GBK编码采用GBK字符集,UTF-8编码采用Unicode字符集。GBK编码汉字占2byte,字母占1byte,UTF-8编码中字母占1byte、汉字占3byte。
解码时,Windows 操作系统会根据文本文件的 BOM信息或者默认设置来检测文件编码方式,从而自动使用对应的编码方式进行解码和显示。有BOM就会采用对应的UTF-8编码方式进行解码,没有就会按系统默认的编码方式进行解码(可以通过cmd中chcp命令查询)。如果解码方式与编码方式不同,就会出现乱码的情况。