您的位置:首页 > 其它

Unicode字符集

2016-03-27 18:58 204 查看
1、字符集演变历史

Ascii:

计算机最初的设计是使用一个字节来表示一个字符,0-127用来表示字母和字符,128-255用于扩展。

GBK:

由于存在很多使用象形文字的国家(如中国),256个字符根本不够用,常用的汉字就要6千多个,于是我国提出了中文编码标准GBK 。

Unicode:

由于各国人民都使用自己的字符编码集,交流起开很不方便,于是 ISO (国际标谁化组织)提出了统一的标准Unicode;Unicode使用两个字节表示字符;为了兼容Ascii字符,原有的Ascii字符低字节不变,高字节取0。Unicode的实现有Utf-8
Utf-16 Utf-32等

Utf-8:

Utf-8是对Unicode实现,是目前网络传输使用的字符集。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,保留了ASCII字符一个字节的编码做为它的一部分,注意的是unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节)。从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。

Unicode符号范围 | UTF-8编码方式

(十六进制) | (二进制)

—————————————————————–

0000 0000-0000 007F | 0xxxxxxx

0000 0080-0000 07FF | 110xxxxx 10xxxxxx

0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx

0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

2、Windows中的字符编码情况
中文简体版本的windows默认使用Gbk(936)字符集,可以使用chcp命令查看当前字符集



VC中char字符串默认使用ANSI(GBK)字符集,wchar_t字符串默认使用原始的Unicode字符集

记事本保存时可以选择编码,windows的Utf-8是默认带Bom的

参考资料:

https://en.wikipedia.org/wiki/ASCII

https://www.zhihu.com/question/23374078
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: