字符编码
新人老是搞出字符编码问题,在utf8、utf8mb4、unicode、gb2312、cp936搞来搞去,下面给出参考,到底编码是咋回事:
UTF-8 / UTF8mb4 /UTF-16 / UTF-32编码(为了方便存储和传输UNICODE字符集而定义的一套编码,IETF定义):
UNICODE编码(基本扩展自ISO10646,为了全世界各种语言都可以混合在一起使用而定义的统一编码格式):
其中东亚(中文在标准中叫”Han”,也叫“CJK”,取自汉语,含中日韩的编码,这个差不多占了整个unicode字符集的80%):
Block名称 | 开始码位 | 结束码位 | 字符数 |
---|---|---|---|
CJK统一汉字 | 4E00 | 9FBB | 20924 |
CJK统一汉字扩充A | 3400 | 4DB5 | 6582 |
CJK统一汉字扩充B | 20000 | 2A6D6 | 42711 |
CJK兼容汉字 | F900 | FA2D | 302 |
CJK兼容汉字 | FA30 | FA6A | 59 |
CJK兼容汉字 | FA70 | FAD9 | 106 |
CJK兼容汉字 | 2F800 | 2FA1D | 542 |
gb2312、gb18030、cp936、gbk编码可以认为是相同编码或子集,有新旧版本关系。
字体:
就是根据每个字的编码对应画出来的点阵或矢量图,显示在屏幕上给你看到的。