编码

来源:互联网 发布:阿里云新注册 编辑:程序博客网 时间:2024/06/05 08:29

  相信不少小伙伴在工作中经常接触到的编码问题,这个问题有时候也会困扰着我,相信只有关心问题的本质是什么才会在下次遇到类似问题的时候不会重蹈覆辙。在理解字符编码之前,有必要把一些基础的概念先捋清楚,比如:字节、字符、字符集、字符码、字符编码。

字节

  字节(Byte)是计算机中数据存储的基本单元,一字节等于八个比特位,计算机中所有数据,无论是保存在磁盘文件中还是网络传输的数据都是由字节组成。


字符

  人们使用的记号,抽象意义上的一个符号。’1’, ‘中’, ‘a’, ‘$’, ‘¥’, ?? 字节 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。


字符集

  


字符码

  


字符编码

计算机只能处理数字、文本转换为数字才能处理,计算机中8个bit作为一个字节,所以一个字节表示最大的数字就是255
2.计算机是美国人发明的,所以一个字节可以表示所有字符,所以ASCII(一个字节)编码就能成为美国人的标准编码。
3.但是ASCII处理中文明显是不够的,中文不止255个汉字,所以中国制定了GB2312编码,用两个字节表示一个汉字,GB2312还把ASCII包含进去了,同理,日文、韩文等等上百个国家为了解决这个问题就都发展一套字节的编码,标准就越来越多,如果出现多种语言混合显示就一定会出现乱码。
4.于是unicode出现了,将所有语言同意到一套编码中。
5.看一下ASCII和unicode编码
  1)字母A用ASCII编码十进制是65,二进制0100001
  2)汉字“中”已近超过了ASCII编码的范围,用unicode编码是20013二进制是0100111000101101
  3)A是unicode编码只需要前面补0二进制是0000000001000001


原创粉丝点击