Unicode
Unicode是Java、Python等语言中的符号集,它相当于一个词典,将全世界的字符映射为一个数字,转换成二进制后存储在字节中。后文中提到的ASCII、GBK等编码集都是Unicode中具体实现方式。
ASCII编码集
ASCII是计算机发展初期,使用英语的科学家设计了一种编码集,使用1字节存储信息且只包含128个字符,每个字节的首个bit都为0;例如“,”对应ASCII为44,字节码为00101100;
GBK编码集
GBK是中国人设计的一套编码集,包含2万多个中文字符且支持ASCII码,使用两个字节编码一个字符,具体转换表百度,为了便于操作系统识别字节码是使用GBK或ASCII编码,GBK编码的首个字节开头都是1(1xxxxxxx xxxxxxx),例如(熊–0xD0DC);
UTF-8编码集
UTF-8是Unicode的一种主流实现方式,可以适用于全球的语言,为了兼容性和内存利用率,采取不定长的编码方式,如果表示ASCII字符,则使用1字节(0xxxxxxx)与初始的ASCII码没有区别不进行转码;如果表示中文字符,使用3个字节表示(1110xxxx 10xxxxxx 10xxxxxx),首个字节的3个1表明使用3个字节解码成一个字符,而对于10开头的字节码与ASCII严格区分开,并不能单独被解码成任何字符,这样就实现了操作系统可以分辨出应该选取哪几个字节解码成字符

199

被折叠的 条评论
为什么被折叠?



