计算机内部全部的信息最终都是一个二进制的值,无论是文本信息或者是图像等的其余信息网络
计算机内部文字的存储就是提早的约定,1(二进制00000001)表明某个字符,32(二进制00100000)表明空格编码
人类已经明白能够经过组合不一样比例的红,绿,蓝三种颜色来获得各类各样的颜色,如今的计算机,通常使用32位来表示颜色,4B。前三个B分别表明红,绿,蓝,一个byte中8bit,能够表示256种红,因此3B总共能够表示256 256 256 = 16777216种颜色,剩下一B用来表示透明度,图片是像素级的小格子组成的所以图片也能够用二进制组成code
总之,计算机内部一切都是由二进制组成的图片
上世纪60年代,美国对英文字符,空格等的一系列符号与数字作了对应,一共128个,只占用了一个字节的后7位,第一位为0utf-8
由于存在多种编码方式,因此若是编码方式和解码方式不一致的话就会出现乱码状况,所以要解决这个问题就要制定一个将世界上多有符号都归入其中的编码方式,就是Unicode,如今能够容纳一百多万个符号,每一个符号编码都不同,具体哪一个符号对应哪一个数字,能够在网上进行查询。it
Unicode只是一个符号集对应码,也就是说他只规定了哪一个字符对应哪一个数字,并无规定对应的二进制数字如何存储,这是由于Unicode字符存在一个问题,若是采用统一的字节长度存储二进制数字,英文字符前面过多的0会形成浪费,所以根据二进制数字不一样的存储方式,能够将Unicode分为如下几种基础
Unicode只是一个字符集,而具体的编码方案是utf-8,utf-16等,也就是说utf-8,utf-16是Unicode的实现方式乱码
Java种u+四个十六进制字符(u转义字符,四个十六进制字符为对应的Unicode编码)扩展