字符集和字符编码&为什么乱码是问号?

    说道这里就跟编码的发展史是很有关系的了

    最开始出现的是 ASCII码、是美国人发明的,他将因为字母和特殊符号全部编码进去、采用了一个字节256种情况去编码这些字符

    后来欧洲人看美国人整了个编码 于是自己整了个ISO-8859-1,他是为了将欧洲所有国家的语言文字全部编码进去,采用了 2个字节 65536种情况去对ASCII进行拓展,拓展完成之后,发现在码表中出现了大量的空白。也就是说有码值但是没有对应的字符

    后来中国人发明了GB2312,也采用了2个字节, 收录 6763 个汉字,

    再后来GB2312 扩展成了GBK, 21886 个汉字和图形符号

    但也出现了大量空白的情况、当我们在解码一个字符的时候,如果编码和解码不一致的话很有可能造成读取的码值在码表中没有对应的字符,所以就用?代替