字符编码与编程语言


前言

通俗的来说,字符编码就是按照某种格式某种规定将字符存储在计算机中。


一、字符编码

PS:说到「字符编码」我们先要理解什么是编码

1.什么是编码

编码(encode)是把数据从一种形式转换为另外一种形式的过程,它是一套算法,比如这里的字符 A 转换成 01000001 就是一次编码的过程,解码(decode)就是编码的逆过程。

2.什么是字符集

字符集是一个系统支持的所有抽象字符的集合。它是各种文字和符号的总称,常见的字符集种类包括 ASCII 字符集、GBK 字符集、Unicode字符集等。不同的字符集规定了有限个字符。

字符集准确地来说,指的是已编号的字符的有序集合

PS:接下来正式切入主题:什么是字符编码

3.什么是字符编码

字符编码(Character Encoding),也称字集码,是把字符集中的字符按一定方式编码为某指定合集中的某一对象(例如:比特模式、自然数序列、8 位组或者电脉冲)的过程,,以便文本在计算机中存储和通过通信网络的传递。

亦即在字符集与指定集合两者之间建立一个对应关系(即映射关系)的过程。这是信息处理的一项基础技术。

因此,通常以字符集来定义字符,以计算机为基础的信息处理系统则利用电子元件(即硬件)的不同状态的组合来表示、存储和处理字符。

  • 分类

    • ASCII
      ASCII 码使用七个二进制数字(即比特)来表示一个字符,总共表示 128 个字符( 2^7 = 128,二进制编码为 0000 0000 ~ 0111 1111,对应的十进制就是 0~127 )。

      由于目前计算机普遍采用 8 位作为一个字节来进行存取与处理,因此剩下最高位(即第 8 位)的那 1 比特一般为 0,但有时在一些通讯系统中也被用作奇偶校验位。

      PS:所以,ASCII 到底是 7 位还是 8 位?

        前文说的比较清楚了,最开始老美使用时是 7 位共 128 个字符( ASCII ),可以称之为基础 ASCII 码。
        当时的第 8 位(最高位)并不是用来表示字符的一部分,而是纠错校验用的,只是用的不多,当时电脑也没什么必要。
        所以有许多 8 位字符编码(将这第 8 位实际应用上,来表示他们国家的字符,主要是西欧国家)逐渐出现,也就是 8 位共 256 个字符。
        可以称为ASCII 的超集、 8 位版、扩展 ASCII 等,他们将第 8 位字符应用到自己国家语言的字符表中,后 7 位与 ASCII 一致兼容。在使用 ASCII 编码范围时,第 8 位统一规定为 0,以便于计算机系统刚好以 1 个字节的方式来进行处理、存储和传输。
      

      ASCII码对照表 :http://www.asciitable.com

    • GB2312
      是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。

      GB2312汉字编码字符集对照表:http://tools.jb51.net/table/gb2312

    • UTF-8
      是UNICODE的一种变长字符编码又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)

    • GBK
      由于中国的汉字太多了,我们很快就发现有许多人的人名没有办法在这里打出来,不得不继续把GB2312 没有用到的码位找出来用上。后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。结果扩展之后的编码方案被称为 “GBK” 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。

二、编程语言

1.什么是编程语言

编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

PS:由于计算机是听不懂我们人类的语言的,所以就需要使用计算机能听懂的语言来完成人与机器之间的交流,那就是计算机语言,即编程语言。使用编程语言,并通过编写程序的方式来实现交流,给计算机发送指令,让它执行并回应。当然每种编程语言的语法结构、所适用的程序类型、业务功能,以及适用的领域不一样。

编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。

编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。

2.基本简介

计算机编程语言能够实现人与机器之间的交流和沟通,而计算机编程语言主要包括汇编语言、机器语言以及高级语言,具体内容如下:

  • 机器语言
    这种语言主要是利用二进制编码进行指令的发送,能够被计算机快速地识别,其灵活性相对较高,且执行速度较为可观,机器语言与汇编语言之间的相似性较高,但由于具有局限性,所以在使用上存在一定的约束性。

简而言之,机器语言:每一条指令是由0和1组成的代码串,因此由它编写的程序不易阅读,而且指令代码不易记忆。

  • 汇编语言
    该语言主要是以缩写英文作为标符进行编写的,运用汇编语言进行编写的一般都是较为简练的小程序,其在执行方面较为便利,但汇编语言在程序方面较为冗长,所以具有较高的出错率。

简而言之,汇编语言:用助记符代替二进制指令的语言。(就是在机器语言的基础上进行了一系列的优化封装,使得我们编写的程序要比之前容易阅读了)

  • 高级语言
    所谓的高级语言,其实是由多种编程语言结合之后的总称,其可以对多条指令进行整合,将其变为单条指令完成输送,其在操作细节指令以及中间过程等方面都得到了适当的简化,所以,整个程序更为简便,具有较强的操作性,而这种编码方式的简化,使得计算机编程对于相关工作人员的专业水平要求不断放宽。

简而言之,高级语言:接近自然语言的程序设计语言。(在汇编语言的基础上,进一步的优化与封装,就变成现在我们那些常见的Java,C,Python等等的编程语言)

扩展

计算机高级语言按程序的执行方式可分为:编译型和解释型。

PS:至于什么是编译型和解释型语言,在此我就不解释了,可以自行百度查询

编译型语言的特点是效率快,典型代表语言:Java
解释型语言的特点是效率慢,典型代表语言:Python

运行过程图:

在这里插入图片描述


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值