常见字符集

1. 常见字符集

计算机内部全部的信息最终都是一个二进制的值,无论是文本信息或者是图像等的其余信息网络

1.1 文字

计算机内部文字的存储就是提早的约定,1(二进制00000001)表明某个字符,32(二进制00100000)表明空格编码

1.2 图像

人类已经明白能够经过组合不一样比例的红,绿,蓝三种颜色来获得各类各样的颜色,如今的计算机,通常使用32位来表示颜色,4B。前三个B分别表明红,绿,蓝,一个byte中8bit,能够表示256种红,因此3B总共能够表示256 256 256 = 16777216种颜色,剩下一B用来表示透明度,图片是像素级的小格子组成的所以图片也能够用二进制组成code

总之,计算机内部一切都是由二进制组成的图片

1.3ASCII

上世纪60年代,美国对英文字符,空格等的一系列符号与数字作了对应,一共128个,只占用了一个字节的后7位,第一位为0utf-8

1.4 非ASCII编码

  1. ISO-8859-1:ISO组织在ASCII编码的基础上又制定了一系列的标准来扩展ASCII编码,仍然是单字节编码,最多表示256个字符,但已涵盖了大多数西欧语言
  2. GB2312:双字节编码,包含6763个汉字
  3. GBK:国家监督技术局扩展GB2312,加入了更多的汉字,兼容GB2312,用GB2312编码的汉字能够用GBK来解码

1.5 Unicode

由于存在多种编码方式,因此若是编码方式和解码方式不一致的话就会出现乱码状况,所以要解决这个问题就要制定一个将世界上多有符号都归入其中的编码方式,就是Unicode,如今能够容纳一百多万个符号,每一个符号编码都不同,具体哪一个符号对应哪一个数字,能够在网上进行查询。it

Unicode只是一个符号集对应码,也就是说他只规定了哪一个字符对应哪一个数字,并无规定对应的二进制数字如何存储,这是由于Unicode字符存在一个问题,若是采用统一的字节长度存储二进制数字,英文字符前面过多的0会形成浪费,所以根据二进制数字不一样的存储方式,能够将Unicode分为如下几种基础

Unicode只是一个字符集,而具体的编码方案是utf-8,utf-16等,也就是说utf-8,utf-16是Unicode的实现方式乱码

Java种u+四个十六进制字符(u转义字符,四个十六进制字符为对应的Unicode编码)扩展

  1. utf-8,UTF-8 采用变长的编码方式。它可使用1~4个字节表示一个符号,根据不一样的符号而变化字节长度。节省了存储空间和网络带宽。
  2. utf-16,采用固定的2个字节,16bit因此utf-16。
相关文章
相关标签/搜索