综合技术--ascii、gb2312、gbk、unicode、utf-8等几种字符集编码介绍

ASCII字符集编码 ASCII码是 美国标准信息交换码 的简称,是标准的 单字节 编码。 ASCII码是7位编码,编码范围是0x00~0x7f,因此可以看出编码范围是0~127。 ASCII码可以表示所有的大小写字母(a~z,A~Z)、数字(0~9)、标点符号、特殊控制字符。 0~31与127(共33个)是控制字符或通信专用字符。 32~47是空格、惊叹号、大小括号...句号、斜杠等字符。 48~57是0~9十个阿拉伯数字。 58~64是冒号、...@符号。 65~90是A~Z大写字母。 91~96是[ ... 、符号。 97~122是a~z小写字母。 123~126是{ | } ~符号。

GB2312字符集编码 很显然ascii码不能满足中文的需求,随之而来是中国人发明的gb2312码。 GB2312是第一个汉字编码的国家标准。 GB2312是基于区位码设计的,他将编码表分成94个区,每个区包含94个位。 每个字符的区号和位号组合起来就是该汉字的区位码。区位码用10进制数来表示,例如1601表示16区01位,对应的字符是"啊"。 在区位码的区号和位号上分别加上0xA0就可以得到gb2312编码,因此gb2312的编码范围是0xA1A1~0x7E7E。

GBK字符集编码 GBK编码是GB2312编码的超集,向下完全兼容gb2312。 GBK的整体编码范围是0x8140~0xfeff,高字节范围是0x80~0xfe,低字节范围是0x40~0x7e和0x80~0xfe。

UNICODE字符集编码 unicode是ISO为了解决支持不同语言而制定的一个标准,它为每种语言的每个字符都设定了一个唯一的二进制码。 unicode制定了三套编码方式:utf-8、utf-16、utf-32。 utf-8,字符是以8位序列来编码的,用一个或者多个字节(1B=8*b)来表示一个字符。

UTF-8 unicode最大的一个问题是:英文字母只需要一个字节表示就够了,而如果统一规定为unicode编码,则可能编码成2个或3个字节,那么这无疑是对内存的一种浪费。 unicode在很长一段时间内推广不开,直到互联网的大力发展,才解决了unicode的传输问题。为了兼容ascii码,规定互联网最小传输单位为8位,这就是utf-8。 utf-8是专为传输而设计的一种编码方式,并使编码无国界,这样就可以满足世界上所有的字符。 utf-8最大的特点是 它是一种变长的编码方式,它可以使用1~4个字节表示一个符号,根据不同的符号产生不同的字节。当在ascii码范围时,就用一个字节表示;unicode码对应一个中文字符占2个字节,而utf-8占3个字节。

转载于:https://my.oschina.net/u/2312022/blog/706425

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值