88540591 2020-06-01
现代计算机存储文件有很多种编码方式,各个计算机系统、程序支持的编码格式不尽相同。
最早的汉字编码方式。
兼容GB2312,覆盖了中国台湾的BIG5字符集以及Unicode中的CJK汉字。
兼容GBK,并且覆盖了少数名族语言,采用单字节、双字节、四字节编码方式。
如前所述,各个地区、各个语言有不同的编码方式,这为交流带来了障碍。于是ISO组织和统一码联盟推出了UCS和Unicode字符集,后来整合,字符集和编码方式基本一致。此处统称Unicode,Unicode字符集包含了世界上几乎所有语言,是目前使用最多的编码方式。
Unicode码表是四字节编码的。
Unicode向下兼容ASCII字符集,但是由于Unicode编码位数较多,如果使用单一的Unicode编码(UTF-32)来对ASCII字符集中的字符编码,会显得很浪费,于是出现了通用转换格式UTF-x系列编码方式。
Unicode字符集的一种编码方式。最低可以使用单字节编码,很容易兼容ASCII。
Unicode字符集的一种编码方式。最低可以使用双字节编码。
标准的Unicode字符集四字节编码方式。
UTF-8采用边长字节编码,占用存储空间小,但是计算机处理较为复杂、效率低下。因此一种可行的做法是存储、传输时采用UTF-8编码,而需要对文本进行处理时转为UTF-16或UTF-32等相对稳定的编码方式。
使用命令:file filenames
,即可查看文件的编码等信息,但是不一定准确,因为文件本身并不携带自身编码信息。
使用iconv
命令即可达到目的。
-f encoding
必选,指定源编码方式。
-t encoding
必选,指定目标编码方式。
-o filename
可选,指定输出文件,默认输出到标准输出。
-l
可选,输出支持的编码方式。
https://dailc.github.io/2017/05/03/char_charset_charEncoding.html
https://zhuanlan.zhihu.com/p/51202412