码迷,mamicode.com
首页 > 其他好文 > 详细

字符集编码---1 基本概念

时间:2018-07-31 01:31:25      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:inter   相同   概念   dia   维基百科   binary   bit   log   扩展   

    “给定一个字符,对应各种字符集编码后的二进制形式到底是什么样子?”,对于这个问题,我自己也不甚清楚。而且日常工作中,每次遇到这个问题都是靠一款叫做 CodeView 的工具解决。所以接下来不涉及具体的编码过程,只对基本概念、各平台下的字符集转换做介绍。

    本文为第一部分,对常用字符集编码做概念性介绍。以下是查阅维基百科和牛人博客后,我自己的一种理解,并不一定十分准确。首先,要来理解两个概念:

 

    字符集:

         字符与二进制码一一对应的集合。

 

    字符编码:

         存储和解析字符集中的二进制码。而不同字符集收录的字符数目不同,规模不同,所以不同字符集的编码规则是不同的,但同一字符集的编码规则是相同的。所以很多时候,字符集定下来,其编码规则也就定下来。

    

    接下来就介绍几种常用的字符集(编码)

    EBCDIC(Extended Binary Coded Decimal Interchange Code):

    扩增二进式十进交换码,IBM指定的一个字符编码表,在AS/400等系统上使用,平时几乎不太能见到。

 

    ACSII

    包含英文字母在内的128个常见字符集,所以每个字符的编码长度为:1 字节。

 

    Unicode

    统一码,几乎涵盖世上所有的符号。只定义了字符与二进制码的对应关系,未定义二进制码的存储、解析规则。

            UTF-8(8-bit Unicode Transformation Format):针对Unicode的可变长字符编码。每个字符的编码长度为:1 ~ 6 字节。

    UTF-16:也是一种针对Unicode的可变长字符编码。每个字符的编码长度为:2 ~ 4 字节。

 

    GBK

    汉字内码扩展规范,是对GB2312(即CP936)的扩展,收录了汉字及图形符号。一般不特殊说明,GB2312、CP936、GBK都指的是GBK。

            每个字符的编码长度为: 1 ~ 2 字节。

 

   根据上面介绍,有些时候需要用多个字节来表示一个字符,那么就要关注一下内存的存储方式啦。

 

   LE(Little Endian):

  小字端存储,低位数字在前,放在低位。如,十六进制0x1234,存储后为:0x34 0x12

 

   BE(Big Endian):

  大字端存储,高位数字在前,放在低位。如,十六进制0x1234,存储后为:0x12 0x34

 

参考链接:

字符编码笔记:ACSII,Unicode和UTF-8 (其实基本就是这篇的阅读笔记)

ACSII

Unicode / UTF-8 / UTF-16

GB 2312 / GBK

EBCDIC

   

 

 

 

    

字符集编码---1 基本概念

标签:inter   相同   概念   dia   维基百科   binary   bit   log   扩展   

原文地址:https://www.cnblogs.com/o--ok/p/9393632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!