• 字符集编码


    字符集

    字符- 只有名字和显示的样式。例如:COMMA ,
    字符码位(交换码)-每个字符定义一个唯一的数字表示(码位)。例如:0x2C ,
    字符编码(内码)- 针对一套字符码位的映射算法,以在计算机内部用字节序列表示每个码位。

    ASCII字符集
      主要针对英语使用
      每个字符的定义,字符码位和字符编码完全相同,最简单的映射关系

    GB2312字符集
    每个汉字或符号用两个字节来表示。分区(十进制)处理:
    01-09区为特殊符号。
    10-15区未有编码
    16-55区为一级汉字,按拼音排序。
    56-87区为二级汉字,按部首/笔画排序。
    88-94区则未有编码
    高位字节使用0xA1-0xF7(把01-87区的区号加上0xA0),低位字节使用0xA1-0xFE(把01-94加上0xA0)。
      例如:“啊”字是GB2312之中的第一个汉字,它的区位码是1601,会以0xB0A1储存。
              (因为16+0xA0=0xB0  01+0xA0=0xA1)

    ISO8895字符集
      主要针对拉丁字母的语言

    GBK
    汉字内码扩展规范。
    最初是MS对GB2312的扩展,得到国家认可但不是国家标准。
    包括了原GB2312编码,编码范围是:高字节0x81-0xFE,低字节0x40-0xFE同时不包括

    0x7F
    对比
    GBK:       0x81-0xFE, 0x40-0xFE,  -0x7F
    GB2312:    0xA1-0xF7, 0xA1-0xFE


    GB18030
    国家标准
    双字节部分完全采用GBK的内码系统,然后做了四字节扩展,四个字节的编码空间依次

    是:0x81到0xFE,0x30到0x39,0x81到0xFE,0x30到0x39。总共1,587,600个码位
    GB 18030-2000版本收录了全部27,484个CJK统一汉字
    在编码体系上,GB18030统一了内码和交换码的概念
    取代GBK


    GB13000
    与Unicode相同


    ISO10646和Unicode
    使各种语言的字符在编码上有与ASCII码相同地位,可以同时处理各国语言
    ISO10646是国际标准,Unicode是行业标准
    两者完全兼容
    通用多八位编码字符集(UCS):四个八位位组的四维编码空间,分别表示组/面/行/位

    即UCS-4形式
    UCS-2就是00组中的00平面,即ISO 10646.1的基本多文种平面(BMP)。
    为了与ASCII码兼容,推荐格式UTF-8:采用1-6个八位位组表示UCS中的一个字符

    Unicode由the Unicode Consortium制定,兼容ISO10646
    Unicode原始为16位编码,现在扩充为0--10FFFF

  • 相关阅读:
    总结C#获取当前路径的7种方法
    Cognex925B的使用方法
    值类型不允许赋值为Null
    浅谈Task的用法
    C#中的变量祥解
    C#中属性的解析
    浅谈简单工厂模式
    浅谈Invoke 和 BegionInvoke的用法
    c#小灶——9.算术运算符
    c#小灶——8.自动类型转换和强制类型转换
  • 原文地址:https://www.cnblogs.com/zhyryxz/p/1708478.html
Copyright © 2020-2023  润新知