欢迎访问!
您的支持是我们不断前行的动力!

字符解码与编码

 一、什么是编码

编码是指信息从一种形式或格式转换为另一种形式或格式的过程。

在计算机中,编码,简而言之,就是将人能够读懂的信息(通常称为明文)转换为计算机能够读懂的信息。众所周知,计算机能够读懂的是高低电平,也就是二进制位(0,1组合)。

而解码,就是指将计算机的能够读懂的信息转换为人能够读懂的信息。

二、编码种类

  • ASCII 占1个字节,只支持英文GB2312 占2个字节,支持6700+汉字
  • GB2312 占2个字节,支持6700+汉字
  • GBK GB2312的升级版,支持21000+汉字
  • Shift-JIS 日本字符
  • ks_c_5601-1987 韩国编码
  • TIS-620 泰国编码

三、 Unicode的出现和演变

  因为每个国家都有自己的一套的字符编码,当所制作的软件出到国外,软件无法正常显示,正是如此Unicode应运而生,它包含了全球的全部字符,称为万国码

Unicode主要起了两个作用:

    1. 支持全球的语言,统一编码。
    2. unicode包含了全球所有国家编码的映射关系

但是Unicode对于使用ACSII编码的软件不大友好,因为在ACSII编码中,一个英文字符只需要一个字节,而Unicode中需要两个字节才可以表示完,这样大大加大了在网络传输和储存的成本。

为了解决这个问题的出现,1992年出现了UTF-8(8-bit Unicode Transformation Format),节省网络传输和存储等节省空间

  • UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个。
  • UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
  • UTF-32: 使用4个字节表示所有字符。

四、编码的转换

  在出现Unicode和utf-8之前,每个国家都用着自己国家的编码,当Unicode和 utf-8出现后,我们并不能马上改变我们的代码,因为要改变的东西太多了,然后要让我们的软件被国外的使用,我们只有两条路可以走

  1. 让国外的每台电脑装上我们国家的gbk的编码
  2. 让我们的软件以utf-8编码

显然,第一条路不大好走,而第二种比较好实现。但是第二种只能针对新软件来操作,因为过去的软件已经再次以另一种方式操作会花费许多工程。但是我们可以把软件的数据从硬盘读到内存里,然后用Unicode表示,这样就可以解决问题了。

赞(0) 打赏
转载请注明出处,未注明出处不得转载,蜘蛛侠 » 字符解码与编码
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

蜘蛛侠,您身边的爬虫专家!

觉得文章有用就打赏一下文章作者吧

支付宝扫一扫打赏

微信扫一扫打赏