编码字符集与字符集编码的区别

编码字符集与字符集编码,读起来是不是有些拗口?
读起来拗口,听起来头晕。
如果你感觉拗口或者头晕,那么你就得看看这篇博客了。

从字面上看,
“编码字符集”是个偏正词组,这个词组的中心语是“字符集”,因此编码字符集就是一个字符集;
“字符集编码”也是个偏正词组,他的中心语是编码,因此字符集编码是一种编码。
一个是字符集,一个是编码。区别就是这么简单。
字符集好理解,就是字符的集合,例如所有的英文字母是一个字符集,所有的汉字是一个字符集。
但编码是啥东西?其实,编码是省略语,编码是编码方式或者编码方法的意思。

通过词组分析,知道了“字符集”和“编码”的区别,现在再看编码字符集与字符集编码的区别:
其实,
编码字符集就是对其中的字符编了号的字符集。
字符集编码是字符集中字符的存储传输格式。

仅从上面的语言分析,我们就可以大致知道这编码字符集与字符集编码的区别了(语文很重要啊),
下面再举了例子来看。

下图所示的是一个字符集
[img]http://dl.iteye.com/upload/attachment/275249/9704cd99-2688-3190-abb8-79f1c118524b.png[/img]
这是一个集合的图形表现形式,很直观,但不宜使用,看着有些乱。
对的,有些乱,但这个乱就是集合的特性,因为集合是没有顺序性的。像上面这样,把字符乱七八糟地放在一起,想找个字符都不方便,即使找到了,也不好表述其位置。

很乱,怎么办呢?把他们排排队。比如这样排:
A;
u;
C;
*;
g;
8;
0;
z;
?;
@;
这个时候,就比较好找字符了,也比较好描述字符的位置了,比如*,在第4个,0在第7个位置。也许这个例子里对字符排队候的便利性不是很明显,若字符个数很多的话,那便利性就大大滴了。

把字符集中的字符排了队,就相当于对字符编码了。
为什么这么说呢?编的码又在哪里呢?
既然排队了,就肯定有顺序,这个顺序号,自然而然就是字符的编码了。
编码的结果就是A=0;u=1;C=2;*=3;g=4;8=5;0=6;z=7;?=8;@=9
这样编过码的字符集就是编码字符集了。

为什么非要这样编码不可?为什么不可以A=8,u=1001...?
可以,完全可以!但我想,只有特别秀逗的人,才会搞出这么不自然而然的编码方案出来O(∩_∩)O~。

好了,编码字符集介绍完了,下面介绍字符集编码。

前面说字符集编码是字符集中字符的存储传输格式。
这里或许有个疑问,为什么存储传输的时候要搞出另外一种格式,直接用编码字符集中的编码不就可以了吗?
直接存储传输字符的编码,可以,而且很直观,ASCII码就是这样存储传输的。
但有的时候,为了少占用存储空间和少占用网络流量,就要设计出别的存储传输格式。
比如unicode字符集的utf-8格式,这种格式,如果全是英文字符的话,就比直接存储Unicode少占一半的空间。

总结一下:
编码字符集就是对其中的字符编了号的字符集。
字符集编码是字符集中字符的存储传输格式。

常见的编码字符集有ASCII,UNICODE;
常见的字符集编码有utf-8,utf-16,utf-32灯。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值