目标:字符集/编码集
字符集:
各个国家为自己国家的字符取的一套编号规则。
计算机的底层是不能直接存储字符的。
计算机的底层只能存储二进制。010101
二进制就是可以转成10进制的。10进制就是整数编号。
结论:计算机的底层可以存储编号。
101 = 12^0 + 02^1 + 1*2^2 = 5
美国人:
8个开关一组就可以编码字符。 1个字节。
2^8 = 256
一个字节存储一个字符完全够用了。
a 97
b 98
A 65
B 66
0 48
1 49
这套编码是ASCII编码。
英文和数字在底层存储的时候都是采用1个字节存储的。
中国人:
中国人的字符很多:几十万个字符。
中国人采用2个字节编码一个中文字符。
这套编码叫:GBK编码。
它也必须兼容ASCII编码表。
…
美国人:
我来收集全球所有的字符,统一编号。这套编码叫 Unicode编码(万国码)
UTF-8就是变种形式。
UTF-8一个中文一般占3个字节。
它也必须兼容ASCII编码表。
小结:
英文和数字在任何编码集中都是一样的,都占1个字节。
GBK编码中,1个中文字符一般占2个字节。
UTF-8编码中,1个中文字符一般占3个字节。
技术人员都应该使用UTF-8编码!
编码前与编码后的编码集必须一致才不会乱码!!
GBK 我爱你 GBK 不会乱码!
GBK 我爱你 UTF-8 会乱码!
英文和数字在任何编码集中可以通用,不会乱码!