你需要知道的计算机字符与编码集

247 阅读1分钟

1. 字符编码集历史

  • ASCII码

    • 使用7个bits就可以完全表示ASCII码
    • 包含95个可打印字符
    • 33个不可打印字符(包括控制字符)95+33 = 128 = 2^7
    • 很多应用或者国家中的符号都无法表示
    • 常见数学运算符:除号 不等于号 大于等于号 约等于等无法表示
  • Extended ASCII码

    • 第一次对ASCII码进行扩充,7bits => 8bits

  • 字符编码集的国际化 (Unicode)

    • 欧洲、中亚、东亚、拉丁美洲等国家的语言多样性
    • 语言体系不一样,不以有限字符组合的语言
    • 中国、日本、韩国等语言最为复杂

2. 中文编码集

  • GB2312(不符合国际标准)
    • 《信息交换用汉字编码字符集——基本集》
    • 一共收录了7445个字符
    • 包括6763个汉字和682个其它符号
  • GBK
    • 《汉字内码扩展规范》
    • 向下兼容GB2312,向上支持国际ISO标准
    • 收录了21003个汉字,支持全部中日韩汉字
  • Unicode(兼容全球的字符集)
    • Unicode:统一码、万国码、单一码
    • Unicode定义了世界通用的符号集,UTF-*实现了编码
    • UTF-8以字节为单位对Unicode进行编码

注意:

  1. 在国内windows系统默认使用GBK编码,编程推荐使用UTF-8编码
  2. 将Unicode放在中文编码集并不合适,但此处只是来介绍可表示中文的编码集的发展进程