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

首先了解一下什么是字符,什么是字符集以及字符编码。

字符:各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符集:多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。

字符编码:字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本计算机中存储和通过通信网络的传递。

所以就知道Unicode,ASCII,GBK是字符集,每种字符集有它自己对应的字符编码方式。ASCII使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符GBK使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,采用单双字节变长编码,英文使用单字节编码,完全兼容ASCII字符编码,中文部分采用双字节编码。GBK先看第一位是不是为0,要是为0 的话,就当作ASCII码来读入一个字节,不然的话就读入两个字节。Unicode字符集有uft-8,utf-16,utf-32这些编码方案,utf-8为了节省资源,采用变长编码,编码长度从1个字节到6个字节不等。

你可能感兴趣的:(计算机基础)