关于字符编码的理解

关于字符集的问题一直是模棱两可的,自己想下博客也想对字符集做一下自己的理解
GBK
GBK是我们中国人自己的编码,因为ACSII不兼容中文,所以中国人就自己就研究了一套字符集来来支持中文,GBK是兼容ASCII的也就是说,英文和数字在GBK是占一个字节的,中文占两个字节
ASCII
ACSII是最早计算机的编码格式,ASCII是不支持中文的,所有的占一个字节
Unicode
由于各国出现了不同的编码格式,所以就出现了一个统一的字符编码,支持所有的字符。统一占用为2个字节
UTF-8
那有人问如果unicode支持所有的编码,为什么不用unicode呢?,那么问题来了,ASCII中的程序是占一个字节,但是使用unicode的方式保存的话,就是原来的两倍。所以utf-8就诞生了,为了解决文件存储和传输的问题,在utf-8中,英文还是占一个字节,中文占3个字节(相对于GBK增加一个字节的长度)
字符编码的转换
程序会以某种编码的格式读取,转化为unicode的编码,保存的时候再以某种编码的格式进行编码,然后保存到文件中,或者进行传输

原文地址:https://www.cnblogs.com/zhanghongke/p/9890850.html