`
javasee
  • 浏览: 924281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

详解计算机中的各种编码

 
阅读更多

最近一直在复习,遇到神马各种码弄得我非常郁闷,最终专题研究了一下,留给自己一份材料,也分享给大家……
本文所说的编码,主要针对字符的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码的一个子集……

0
2
分享到:
评论

相关推荐

    计算机通信编码

    本书用大量的篇幅讲述了与计算机原理相关的各种编码方法,并通过数字逻辑电路以及存储器,微处理器的形成,组织及发展阐述了编码的实现。本书还涉及到计算机系统,编程语言的发展,甚至对计算机图形化的相关技术也给...

    各种字符编码详解.doc

    字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。 还是得从ASCII码说起 说到字符编码,不得不说ASCII码的简史。...

    常用编码详解.docx

    详细介绍各种常见编码的转换算法。通用字符集(UCS)、Unicode编码、UTF-8编码、UTF-7编码、GB2312编码、URL 解码

    ASN.1编码规则详解

    在任何需要以数字方式发送信息的地方,ASN.1 都可以发送...ASN.1 和特定的 ASN.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算机架构和语言的方式来描述数据结构。

    计算机专业信息论与编码习题答案

    大学计算机类信息论与编码习题答案,课后习题详解。编码技术

    ASN(1编码规则详解(最全最经典)(rar)

    是用于描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构。 ASN.1是通信协议中描述数据传输的正式标记(notation),它与语言实现和物理...

    字符集与字符集编码详解

    那什么是字符呢?在计算机领域,我们把诸如文字、标点符号...这就涉及到字符编码的概念了,比如一个字符集有 8 个字符,那么用 3 个二进制位就可以完全表示该字符集的所有字符,也即每个字符用 3 个二进制位进行编码。

    Visual C++数字图像处理技术详解光盘中程序

    内容涵盖了数字图像的变换、增强、复原、重建、形态学处理、分割、匹配、压缩编码、特效处理等,各种方法均给出基本原理、典型算法、Visual C++源码及综合应用案例。同时,《Visual C++数字图像处理技术详解》还介绍...

    计算机中的字符串编码、乱码、BOM等问题详解

    主要介绍了计算机中的字符串编码、乱码、BOM等问题详解,对文件编码、vim乱码、什么情况下会出现乱码、字符编码的发展历史、字符集和编码的区别、汉字ANSI编码的发展历史、BOM头等问题做了全面总结、详细介绍,需要的...

    信息论预编码答案

    边缘检测在计算机视觉、图象分析等应用中起着重要的作用,是图象分析与模式识别的重要环节和主要特征提取手段,这是因为图像的边缘包含了用于识别的有用信息。经典的、最简单的边缘检测方法是对原始图像按像素的某邻域...

    php各种编码集详解和以及在什么情况下进行使用

    计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对...

    TCPIP详解--共三卷

    附录B 计算机时钟 376 附录C sock程序 378 附录D 部分习题的解答 381 附录E 配置选项 395 附录F 可以免费获得的源代码 406 参考文献 409 缩略语 420 =================================== TCP/IP详解 卷2:实现 ...

    计算机体系结构习题答案

    计算机体系结构重点习题答案详解,2-3 用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格则用︺表示,在对传送的文字符和空格进行统计后,得出它们的出现频度分别为......

    一文详解红外遥控模块工作原理

    红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机和手机系统中。本文首先介绍了红外遥控...

    .Net.Framework3.5开发技术详解[中文][PDF][VOL1]

    13.7 WCF的消息编码 318 13.8 基于队列的消息交换 319 13.9 点对点网络(Peer-To-PeerNetwork) 322 第14章 并发管理 327 14.1 服务器实例行为管理 327 14.2 并发管理 330 14.3 同步上下文 332 14.4 回调的同步设置和...

    Python3如何解决字符编码问题详解

    由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 Python3字符编码 ...

    基于自适应编码次序的多级树集合分裂算法matlab代码

    [原创]本matlab代码是2012年发表在"计算机应用"的文章"基于自适应编码次序的多级树集合分裂算法"的源代码。 为了在图像轮廓处获得更好的压缩效采,在多级树集合分裂( SPIHT)算法的基础上提出了一种优先编码周围邻域...

    安防天下智能网络视频监控技术详解与实践part2

    1.3.2 视频编码压缩算法 8 1.3.3 视频编码压缩芯片 9 1.3.4 视频管理平台 9 1.4 视频监控的发展方向 10 第2章 模拟视频监控系统 13 2.1 模拟监控系统的构成 14 2.2 视频采集设备 14 2.2.1 摄像机相关...

    详解Python当中的字符串和编码

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较...由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比

    .Net.Framework3.5开发技术详解

    《.NET Framework3.5开发技术详解》适合从事各种.NET程序开发的人员阅读。通过不同层次的例子,相信可以让读者理解、掌握.NET程序开发,特别是关于WPF、WCF和WF这3种重要框架的应用所要掌握的知识。 目录 第1章 ....

Global site tag (gtag.js) - Google Analytics