Unicode, UTF-8, GBK, ASCII的区别

看完知乎的两篇文章大概就明白了

https://zhuanlan.zhihu.com/p/25435644

https://www.zhihu.com/question/23374078

看完总结一下:

ASCII - 字符集和编码方案,一个字母或数字占用一个字节,一个字符=一个字节=8bit,不支持中文等字符

GBK - 字符集和编码方案,一个字符=两个字节=2*8bit,字母和数字仍然采用ASCII编码,如果第一个字节大于128,则和第二个字节结合起来

Unicode - 字符集, 一个字符=两个字节=2*8bit, 所有字母数字,特殊字符都占用两个字节, 分为ucs2和ucs4,ucs2两字节对应一个字符,ucs4四个字节对应一个字符,java采用ucs2

UTF-8/16 - Unicode的编码方案,UTF-8表示最少用8bit表示一个字符,UTF-16则最少用16bit来表示一个字符,UTF-8可变长的编码方案,字母和数字用一个字节表示,中文用3个字节表示

目前为了标准化,通常都使用UTF-8编码

posted @ 2017-04-07 16:27  水木羽人  阅读(227)  评论(0编辑  收藏  举报