文本编码

1.为什么需要编码

        计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。一个字节能表示的最大的整数就是255,如果要表示更大的整数,就必须用更多的字节。


2.常见几种编码

●  ASCII编码:

        计算机是美国发明的,最开始只有127个字符(常用英文和符号),用一个字节就可以全部表示。

●  GB2312:

        汉子远不止127个,所以至少用两个字节表示。所以中国标准制定了GB2312,里面包含了常用的汉字。GBK基于GB2312,包含更多生僻字,支持简繁双体;GB18030基于GBK,包含更多生僻字,支持少数民族文字。

●  Unicode

        但是有些文章是多个国家混合语言的,全世界的语言两个字节无法全部表示。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。    

●  uft-8

        加入一篇文章主要是英文,只是混合了少量其他国家语言。这时候存储一个英文字符,本来只需要1个字节,用Unicode需要多个字节。所以出现了“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。    

        其他国家的用户无需安装中文支持就可以直接浏览utf-8的中文网站。

        在计算机内存中,统一用Unicode中编码,比如记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存或传输时再把Unicode转换为UTF-8。


3.全角和半角

        全角占两个字节,半角占一个字节,半角全角主要是针对标点符号来说的。不管全角半角汉字都占用两个字节。搜狗里用shift+space切换全角和半角。

        汉语等文字语言的字库量远大于256个,所以改用两个字节来储存。如果统一使用全角字符的话,排列起来也显得整齐,英文和其它拉丁文的字符和标点也提供了全角格式。如果全英文或系统命令就用半角即可。

你可能感兴趣的:(文本编码)