最近一直在复习,遇到神马各种码弄得我非常郁闷,最终专题研究了一下,留给自己一份材料,也分享给大家……
本文所说的编码,主要针对字符的IO的编码,不涉及数字编码,视频、音频编码和校验码之类其他编码……
这些资料都是收集自网上各种地方,由于太碎了,所以就不声明引自哪篇文章了……
一、ASCII码
最简单也是最离不开的一种编码,直接对应英文和键盘,计算机中的任何键盘输入都离不开ASCII,每次按下某个键,计算机都得到一个ASCII,无论你输入的是拼音还是五笔,计算机只认识ASCII……
二、汉字编码
1、输入码、内码、字形码
输入码:举例来说,我们所说的输入码就是输入法,比如拼音、五笔什么的,一串字母表示一个汉字(不讨论多个汉字的问题)
内码:汉字在计算机中用于运算和存储所使用的代码,这个代码是统一的
字形码:就是点阵,那些坐标亮,哪些不亮,然后让你看着是一个汉字的形状……
2、区位码、国标码、汉字内码
区位码:就是按照行列的形式吧汉字放在“格”中,然后通过行列数来确定某个汉字的方法,行表示区,列表示位,所以叫区位码。需要特别说明的是,区位码(包括国标码)只是一种编码方法并不是特指某一个编码(比如gb2312)……
国标码:由于当初设计区位码的时候,考虑的比较少,区位码和通信中的控制字符存在二义性,所以ISO就规定将区位码加上2020H变成国标码以消除这种二义性……
汉字内码:虽然解决了通信的问题,但是国标码在计算机的存储中又和ACSII码之间存在二义性,所以又规定在国标码的基础之上再加上8080H变成汉字内码,这样,汉字就可以在计算机中不和任何其他字符编码产生冲突了……
这里需要另外说明一下的是交换码,交换码是一种描述功能的编码(和内码是一起的),与区位码这种描述编码方式的编码没有交集。它表示一种字符在进行数据交换的过程中采用的一种双方都认可的,不会产生冲突的编码方式。实际上ASCII就是即是内码(不是汉字内码,就叫内码),也是交换码,而汉字编码中只有汉字内码才是交换码,区位码和国标码只是给人看的编码,必须变成内码才能被计算机使用……
3、GB2312、GBK、GB18030
这三种编码如果要和上面的汉字编码方式对应,都应该算作区位码,也就是说都是按照行列的形式用数字标识汉字的。但是很多人会想当然的认为看到了GB就是国标码,实则不然,这里的GB表示我们提出了一个汉字的国际标准编码方式,而我们上面说的国标码是一个技术上的概念(但是都叫国标码,所以经常容易被人误解)。况且这三种编码并不都是国家标准,我们最常见的GBK就不是国家标准,而是在GB2312之上的一种扩展,可是算是事实上的标准。这三种编码的兼容顺序是GB18030兼容GBK,GBK兼容GB2312……
unicode(万国码,名字很囧)
这种编码方式是为了囊括全世界的语言而提出的一种编码标准,需要注意的是,这个标准是给人看的标准而不是给计算机看的标准,所以我们讨论编码的时候从来不讨论unicode编码,而是讨论utf8,utf16和utf32,这三种编码是专门为计算机设计的编码,虽然都是根据unicode标准,但却是3种不同的格式,我们通常说的unicode编码,实际上指的是utf16编码……
另外,汉字的编码(区位码)和ASCII是不兼容的(所以要变成内码,利用高位来判断是哪种编码),但是unicode编码和ASC
II是兼容的,也就是说ASCII是unicode码的一个子集……
分享到:
相关推荐
编码是计算机科学中一个至关重要的概念,特别是在处理文本和数据传输时。本文将深入解析几种常见的编码标准,包括UCS、BMP、Unicode以及UTF-8。 首先,UCS(Universal Character Set)是一种多字节字符集,由ISO/...
字符编码是计算机科学中的一种基础概念,它是指将文字、符号等字符转换为计算机可以识别的二进制代码的过程。常用的字符编码有 ASCII、GB2312、GBK、GB18030 等。 1. ASCII 编码 ASCII 编码是一种 7 位编码,编码...
本书用大量的篇幅讲述了与计算机原理相关的各种编码方法,并通过数字逻辑电路以及存储器,微处理器的形成,组织及发展阐述了编码的实现。本书还涉及到计算机系统,编程语言的发展,甚至对计算机图形化的相关技术也给...
通过《信息论与编码学习辅导及习题详解》提供的习题,学习者可以深入实践上述知识点,例如,设计和分析各种编码方案,计算信道容量,模拟信道传输过程等。习题的解答可以帮助解决学习过程中的困惑,加深理论理解,...
双向算法(bidi)是 Unicode 编码中的一种特殊处理方式,用于处理需要从右到左书写的语言,如阿拉伯语、希伯来语等。双向算法的基本规则是根据字符的类型和方向对其进行分类和处理,包括对文本显示顺序、字符分类、...
### ASN.1编码规则详解 #### 1. ASN.1简介 ##### 1.1 ASN.1概述 ASN.1(Abstract Syntax Notation One)是一种国际标准,用于定义抽象数据类型的规格形式。它是由国际标准化组织(ISO)和国际电信联盟(ITU-T)...
【标题】"bmcp编码实现过程详解" 在IT领域,编码是将信息转换为计算机能够理解和处理的形式的过程。本文将深入探讨一种特定的编码技术——BMCP编码,它可能是一种针对特定数据结构或通信协议定制的编码方式。尽管...
"常用编码详解" 本文对各种常见编码的转换算法进行了详细的介绍,涵盖了通用字符集(UCS)、Unicode编码、UTF-8编码、UTF-7编码、GB2312编码、URL解码等多种编码方式。 一、通用字符集(UCS) 通用字符集(UCS)...
1. **信号变化性**:在NRZI编码中,逻辑“1”通常表示不改变信号电平,而逻辑“0”则表示信号电平发生反转。这种特性使得NRZI编码能够有效减少信号的直流分量,提高信号的传输效率。 2. **时钟恢复**:由于NRZI编码...
ASN.1 编码规则详解 ASN.1(Abstract Syntax Notation one)是一种标准化的语言,用于描述抽象数据类型的规格形式。它提供了一套正式、无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构。ASN.1 是通信...
详解稀疏编码(百度深度学习--ppt) 稀疏编码是一种有效的机器学习技术,能够学习有用的特征表示,并广泛应用于计算机视觉、自然语言处理等领域。本文档对稀疏编码进行了详细的解释,并结合机器学习和计算机视觉的...
多字节字符集通常与 ASCII 兼容,也就是说,在这种编码中,拉丁字母使用与 ASCII 中相同的字节来表示。 1.4.1 ASCII ASCII 是一个使用 7 位单元的字符集,及针对 7 位字节的简单编码方式。尽管局限于很少的一些...
适用人群:计算机编程爱好者、开发者以及研究计算机历史的相关学者。 使用场景及目标:适合需要理解和掌握字符编码基础知识的技术人员查阅学习,特别是在涉及文本处理、通信协议解析等领域的工作时非常有用。 其他...
字符编码是计算机科学中的基础概念,它涉及到计算机如何表示和处理文本信息。本文主要讨论了字符编码的历史、ASCII码、OEM字符集以及多字节字符集,特别是针对中文字符编码的挑战。 首先,让我们从ASCII码说起。...
信息论与编码是通信工程、计算机科学和信息处理等领域的重要基础理论,主要研究如何有效地传输、存储和保护信息。 信息论,由克劳德·香农在20世纪40年代创立,是研究信息的度量、处理、传输和储存的数学理论。这一...
简单来说,计算机只能识别数字,为了能够让计算机正确地显示和处理各种字符(包括但不限于文字),就需要将这些字符转换为特定的数字序列,这一过程即为“编码”。编码的存在解决了不同语言和字符集之间的兼容性问题...
### 字符编码详解 #### 一、编码问题的由来及相关概念理解 ##### 1.1 字符与编码的发展历程 字符编码的历史可以追溯到计算机发展的早期阶段,当时计算机仅能支持英语,即ASCII(American Standard Code for ...
2. **扩展ANSI编码**:随着计算机技术在全球范围内的普及,许多非英语国家需要表示自己语言中的特殊字符,于是各国开始利用ASCII编码中未被占用的128-255的区间来定义自己的字符集,形成了所谓的扩展字符集。...