• 字符集与编码


    字符集

    • ASCII字符集
      Amerrican Stadard Code for Information Interchange的简称,等同于国际标准ISO/IEC 646。
      ASCII采用7个比特(7位,0-127)存储,为单字节编码系统。十六进制为0-7F,例如0x21是!,0x7D是}等等。
      ASCII包括英文的大小写,数字,标点符号和一些特殊的操作符,其中包括33个控制字符和95个可显示字符。
    • ANSI字符集
      不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
    • Unicode字符集
      国际化组织制定的,为各种语言的每一个字符制定了统一的并且是唯一的数学编号。

    字符编码

    • ISO-8859-1为单字节编码规则。
      编码方式:将ASCII字符集中的任何字符都转化为一个字节来存放。
    • GB2312,BIG5,Shift_JIS,ISO-8859-2为ANSI编码。
      编码方式:每个字符使用一个字节或多个字节来表示。假如有一个字符串为"中文123",使用ANSI字符集时,"中文"两个字符分别采用2个字节来存放,"123"分别采用1个字节来存放。


    • Unicode字符集有多种编码方式:Unicode,UTF-8,UTF-16,UTF-32,UnicodeLittle, UnicodeBig 等。
      编码方式(Unicode):使用2个字节为每个字符编码。
      编码方式(UTF-8):使用1到6个字节为每个字符编码。 128 个 ASCII 字符只需一个字节编码;如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。
      编码方式(UTF-16):使用2到4个字节为每个字符编码。如果字符编码 U 小于 0x10000, 也就是十进制的 0 到 65535 之内,则直接使用两字节表示,大于0x10000使用4个字节编码。UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节(2字节)储存,但UTF-16却无法相容于ASCII编码
      编码方式(UTF-32):每一个字符都使用4个字节编码

    参考:
    http://www.regexlab.com/zh/encoding.htm
    http://zh.wikipedia.org/w/index.php?title=Unicode&variant=zh-cn
    http://en.wikipedia.org/wiki/UTF-8
    http://zh.wikipedia.org/w/index.php?title=UTF-16&variant=zh-hans
    http://zh.wikipedia.org/w/index.php?title=UTF-32&variant=zh-cn

  • 相关阅读:
    visual studio notes
    使用.net创建activex控件
    在程序中打开/关闭monitor or lcd
    Memory Barrier in Compiler and CPU
    被动工作与主动工作
    排序算法总结
    经典计算机基础数据结构:二叉树
    微软的Challenge文化
    海量数据处理方法的分析
    数组
  • 原文地址:https://www.cnblogs.com/celery94/p/1504369.html
Copyright © 2020-2023  润新知