ASCII unicode utf-8这些编码区别

in 软件 with 0 comment

请输入图片描述
首先明确一些概念:

字符集(Charset)

字符集是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符编码

字符编码(encoding)和字符集不同。字符集只是字符的集合,不一定适合作网络传送、处理,有时须经编码(encode)后才能应用。
也就是说字符编码是对应字符集的具体实现。一般来说,字符集会对应一个字符编码(但是也不一定,就像unicode)。
Unicode字符集有多种编码方式,如UTF-8、UTF-16,UTF-32等;ASCII只有一种;大多数MBCS(包括GB2312)也只有一种。
举个栗子:
字符集规定用1表示a这个字符,我可以用1个字节表示,也可以用2个字节表示,所以字符编码可能有多种。

Windows 的内部其实是用的UCS-2标准,并用 UTF-16 来实现。而非 Windows 系统大多采用了 UTF-8 实现。

Responses