编程必备基础知识|计算机组成原理篇(06):计算机的字符与编码集

计算机基础方面的知识,对于一些非科班出身的同窗来说,一直是他们心中的痛,而对于科班出身的同窗,不少同窗在工做以后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程不少,内容繁杂,但不管是相关书籍仍是大学课程,都有点脱离工做。特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力。程序员

有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理、操做系统、计算机网络,这些都是大学计算机课程里面最重要的内容。文章对这些内容作了提炼和总结,摒弃了做为程序员不须要掌握的知识。编程

目的是:网络

  • 帮助你们造成计算机知识的结构体系
  • 帮助你们理解计算机底层原理
  • 帮助你们在工做实践中借鉴其中的优秀设计

本篇是计算机组成原理之计算机的字符与编码集。学习

欢迎关注、转发、收藏、评论网站

字符编码集的历史

ASCII码编码

对于ASCII码,相信你们在平时的学习、工做中都有所了解。操作系统

ASCII码,英文全称为:American Standard Code for Information Interchange,翻译过来就是:美国信息交换标准代码,是咱们日常经常使用的一种编码。那它是怎么来的呢?计算机网络

在计算机中,全部的数据在存储和运算时都要使用二进制数表示(由于计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些经常使用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪一个符号,固然每一个人均可以约定本身的一套(这就叫编码),假如,对于字符a,比尔盖茨想用0001来表示,而乔布斯想用0010来表示,那么他们在沟通交流的时候谁都没法理解对方的语言。所以,为了计算机可以互相通讯而不形成混乱,就必须使用相同的编码规则,因而美国有关的标准化组织就出台了ASCII编码,统一规定了上述经常使用符号用哪些二进制数来表示。翻译

标准ASCII码也叫基础ASCII码,使用7个比特位来表示全部的大写和小写字母,数字0到九、标点符号,以及在美式英语中使用的特殊控制字符,共定义了128(2的7次方)个字符设计

下面咱们经过一张表来了解部分ASCII码。

表中列出了常见字符的ASCII码,如:字母a表示为0110000一、字符(不是数字哦~)1表示为00110001... ...

在计算机的早期,ASCII码就能知足特定人群的使用了,可是,随着计算机的发展以及计算机的广泛性,ASCII码逐渐不能知足人们的使用需求,好比一些数学符号以及一些国家的符号都没法表示。因而,人们对ASCII码进行了扩充,用8个比特位来表示一个字符,这就是拓展的ASCII码,拓展的ASCII码能表示256个字符。

Extended ASCII码

以下图,是拓展的ASCII码表。

这里面包括了常见的数学运算符、带音标的欧洲字符以及其余经常使用符号、表格符号等。使用了拓展的ASCII码极大的补充了原来的码表,使得计算机能表达的内容愈来愈丰富。

字符编码集的国际化

随着计算机的进一步发展,愈来愈多的国家加入到了使用计算机的行列中,对字符编码集的要求也愈来愈高。对于欧洲、中亚、东亚、拉丁美洲等国家来讲,它们的语言丰富多样,体系不同,不以有限字符为组合,尤为以中国、韩国、日本等的语言最为复杂,ASCII码表根本没法表达这些语言,这就迫切须要使用新的编码集,也就是字符编码集的国际化。

中文编码集

GB2312

GB2312是1980年制定的中国汉字编码国家标准,是我国最先最完备的一个编码集,一共收录了7445个字符,包括6763个汉字和682个其余字符,一个汉字占用两个字节。

GBK

因为GB2312不符合国际标准,中国的科学家在1995年推出了第二套完备的编码集——GBK,GBK向下兼容GB2312,向上支持国际ISO标准,收录了21003个汉字,支持所有中日韩汉字。

GB2312和GBK都是比较完备的编码集,可是,它们只是一个本地化的编码,在中国使用是没问题的,但要跨国使用就有问题了。举个例子,一个中国人开发了一个网站,一个外国友人访问了这个网站,若是他们本地没有安装GB2312编码集或GBK编码集的话, 那么他们在访问网站网页的时候看到的会是乱码。所以,就须要一个全球统一的编码规范。

Unicode

为了统一全部文字的编码,Unicode应运而生。Unicode是一个兼容全球的字符集,定义了世界通用的符号集,能够表达全世界全部的文字和字符。Unicode把全部语言都统一到一套编码里,这样就不会再有乱码问题了。

咱们平时用的UTF-8是其中一个编码规则,它以字节为单位对Unicode进行编码,日常写代码的时候都是推荐使用UTF-8编码。中文Windows操做系统默认使用GBK编码,所以,使用IDE编程时一般要设置成UTF-8编码。

END

相关文章
相关标签/搜索