[综合] 字符编码

原创 2006年06月02日 15:44:00

编码指不同国家的语言在计算机中的一种存储和解释规范。

- ASCII(American Standard Code for Information Interchange):使用7 bits表示一个字符,总共128个。

-- ISO-8859-1:将ASCII扩展到0~255后的字符集。

- ANSI(American National Institute)字符集:ASCII字符集,以及由此派生并兼容的字符集,正式的名称为MBCS(Multi-Byte Chactacter System)。如GB2312,GBK。

-- GB2312:简体中文字符集。它的第一个字节为128-255。系统可以据此判断,若第一个字节大于127,则把与该字节后紧接着的一个字节结合起来共两个字节组成一个中文字符。ASCII是其子集。

-- GBK:GBK是现阶段Windows及其他一些中文操作系统的缺省字符集。它包含2万多个字符,除了保持和GB2312兼容外,还包含繁体中文字,日文字符和朝鲜字符。值得注意的是GBK只是一个规范而不是国家标准,新的国家标准是GB18030-2000,它是比GBK包含字符更多的字符集。

-- Big5:台湾地区所使用的繁体中文字符集,编码方式与GB2312类似。

- Unicode(UTF-16: UCS Transformation Format):固定使用16 bits(两个字节)表示一个字符,总共65536个。

-- UTF-8:为了双字节的Unicode能够在现存的处理单字节的系统上正确传输设计。

    UCS 字符U+0000 到U+007F (ASCII) 被编码为字节0x00到0x7F (ASCII 兼容)。这意味着只包含7位ASCII 字符的文件在ASCII和UTF-8 两种编码方式下是一样的。

    所有>U+007F 的UCS 字符被编码为一个多个字节的串,每个字节都有标记位集。因此,ASCII 字节 (0x00-0x7F) 不可能作为任何其他字符的一部分。

    表示非 ASCII 字符的多字节串的第一个字节总是在0xC0到0xFD 的范围里, 并指出这个字符包含多少个字节。多字节串的其余字节都在0x80到0xBF范围里。这使得重新同步非常容易,并使编码无国界,且很少受丢失字节的影响。

    与Unicode的映射关系如下:

    Unicode编码(16进制)     UTF-8 字节流(二进制)
    0000 - 007F         0xxxxxxx
    0080 - 07FF         110xxxxx 10xxxxxx
    0800 - FFFF         1110xxxx 10xxxxxx 10xxxxxx

附1:当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字符集的哪种编码保存的。软件一般采用三种方式来决定文本的字符集和编码:检测文件头标识;提示用户选择;根据一定的规则猜测。
最标准的途径是检测文本最开头的几个字节,如下表:
    EF BB BF       UTF-8
    FE FF              UTF-16/UCS-2, little endian
    FF FE              UTF-16/UCS-2, big endian
    FF FE 00 00  UTF-32/UCS-4, little endian.
    00 00 FE FF  UTF-32/UCS-4, big-endian.

附2:Big Endian是指低地址存放最高有效字节(MSB: Most Significant Byte),而Little Endian则是低地址存放最低有效字节(LSB: Least Significant Byte)。

[Big Endian]

   低地址                                            高地址
   ----------------------------------------->
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     12     |      34    |     56      |     78    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

[Little Endian]

   低地址                                            高地址
   ----------------------------------------->
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     78     |      56    |     34      |     12    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

版权声明:本文为博主原创文章,未经博主允许不得转载。

1109 综合实验:文件操作与字符处理

1109 综合实验:文件操作与字符处理 时间限制:4000MS  内存限制:65536K 提交次数:6265 通过次数:1646 题型: 填空题   语言: 无限制 Descriptio...
  • u012751124
  • u012751124
  • 2013年12月14日 17:01
  • 2984

电文的编码和译码(哈夫曼树的应用)

一、        实验环境   学宝虚拟机,VC6.0 二、        实验目的   从键盘接收一串电文字符,输出对应的哈夫曼编码,同时能翻译哈夫曼编码生成的代码串,输出对应的电文...
  • Pabebe
  • Pabebe
  • 2016年12月30日 16:33
  • 1524

深度学习文字识别论文综述

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习是无监督学习的一种,深度学习采用了神经网络的分层结构,...
  • awangpanfeng
  • awangpanfeng
  • 2016年03月15日 14:37
  • 6652

综合:字符编码:(ASCII、Unicode、UTF-8)

字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因...
  • jinzhao1993
  • jinzhao1993
  • 2016年10月11日 23:54
  • 184

字符编码转换工具

  • 2017年07月12日 09:17
  • 349KB
  • 下载

中英文字符编码查询_V1.1.rar

  • 2015年06月13日 18:47
  • 15KB
  • 下载

字符编码文档

  • 2015年05月26日 15:06
  • 379KB
  • 下载

字符编码查看器 1.4.2

  • 2017年11月10日 15:24
  • 37KB
  • 下载

字符编码笔记:ASCII-Unicode和UTF-8

  • 2017年09月22日 13:59
  • 58KB
  • 下载

字符编码格式转换软件

  • 2013年12月09日 13:36
  • 149KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[综合] 字符编码
举报原因:
原因补充:

(最多只允许输入30个字)