编码和字符集

ascII、unicode、gb2312等都是字符集,用于定义编号指代的字符。utf-8,utf-16则是unicode的编码格式。


ascII
ascII只有128个,能表示英文、数字、常用符号。


gb2312
gb2312是中文特有的字符集,有2万多个字符,前128个和ascII保持一致,因此能兼容ascII。ascII码用1个字节表示,中文用2个字节表示。gbk是在gb2312基础上扩容而来的。


unicode
unicode则是为了让全球能用上统一的字符集而发明的,有6万多个字符,每个字符占2个字节,比如英文a,ascII是97、unicode则是0097(示意的说法)。中文只收录最常用的6000多个汉字。unicode虽然是大一统的标准,但是在表示英文时浪费空间,并且许多古老的程序只支持ascII,unicode从标准设计上来说是不兼容ascII。正因如此在实际使用中unicode会以utf-8,utf-16等编码方式存储是传输。utf-8保持和ascII一致,英文使用1个字节,其他字符使用2-6个字节,比如中文多数是3个字节。

猜你喜欢

转载自blog.csdn.net/QQ119744220/article/details/81052204