java学习

ascii,unicode,utf-8,gbk的区别

2018-11-22  本文已影响34人  莫辜负自己的一世韶光

ascii

8位一个字节,1个字节表示一个字符.即: 2 ** 8 = 256,所以ASCII码最多只能表示256个字符.

unicode

俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题.
unicode码一般是用两个字节表示一个字符,特别生僻的用四个字节表示一个字符.

utf-8

新的问题出现了,如果统一成unicode编码,乱码问题从此消失了.但是如果你写的文本基本上都是英文的,
用Unicode编码比ascii编码需要多一倍的存储空间,在存储和传输上十分不方便.

utf-8应用而生,它是一个"可变长的编码方式",如果是英文字符,则采用ascii编码,占用一个字节.
如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节.

gbk

国内版本,一个中文字符 == 两个字节 英文是一个字节

上一篇 下一篇

猜你喜欢

热点阅读