博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2-2 字符编码
阅读量:5153 次
发布时间:2019-06-13

本文共 2124 字,大约阅读时间需要 7 分钟。

1.二进制定义

二进制是计算技术中广泛采用的一种。据是用0和1两个来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师发现。当前的使用的基本上是,数据在中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

我们发现刚刚我们讲述的狼烟的故事和现在这个新理论出奇相似。假设狼烟点燃用1表示,狼烟灭掉用0表示,那么刚刚我们用狼烟表示百万雄师的理论就可以用在计算机上,这种表示数字的方式就叫做二进制。

你可能会觉得发明计算机的人思路轻奇,为什么要多此一举的用这种方式来表达数字,但事实上计算机不像我们这样智能,CPU是一个包含上百万个精巧的的芯片集合,表达感情的方式很简单,就是通过高低电压(有电没电),低电压的时候表示0,高电压的时候表示1,因此最终能让计算机理解的就只有0和1而已。

2.二进制与十进制转换

其实刚刚在无形中我们已经将10进制转换成2进制了,现在我们要再总结一遍。

刚才我们已经发现,二进制的第n位代表的十进制值都刚好遵循着2的n次方这个规律

填位大法:

先把他们代表的值依次写出来,然后再根据10进制的值把数填到相应位置,就好了~~~

十进制转二进制方法相同,只要对照二进制为1的那一位对应的十进制值相加就可以了。

 

 

3.文字 ->  十进制 ->二进制

通过上一节讲的二进制的知识,大家已经知道计算机只认识二进制,生活中的数字要想让计算机理解就必须转换成二进制。十进制到二进制的转换只能解决计算机理解数字的问题,那么文字要怎么让计算机理解呢?

于是我们就选择了一种曲线救国的方式,既然数字可以转换成十进制,我们只要想办法把文字转换成数字,这样文字不就可以表示成二进制了么?

可是文字应该怎么转换成数字呢?就是强制转换

  我们自己强行约定了一个表,把文字和数字对应上,这张表就相当于翻译,我们可以拿着一个数字来对比对应表找到相应的文字,反之亦然。

 

 

4.ASCII码

可以先让学生看图片,然后再介绍ascii码

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于的一套电脑编码系统,主要用于显示现代和其他语言。它是现今最通用的单字节编码系统,并等同于标准ISO/IEC 646。

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

 

4 计算机容量单位bit

 

 

提问:假如我们要打印两个空格一个对勾 写作二进制就应该是 0011111011, 但是问题来了,我们怎么知道从哪儿到哪儿是一个字符呢?

正是由于这些字符串长的长,短的短,写在一起让我们难以分清每一个字符的起止位置,所以聪明的人类就想出了一个解决办法,既然一共就这255个字符,那最长的也不过是11111111八位,不如我们就把所有的二进制都转换成8位的,不足的用0来替换。

这样一来,刚刚的两个空格一个对勾就写作000000000000000011111011,读取的时候只要每次读8个字符就能知道每个字符的二进制值啦。

 

在这里,每一位0或者1所占的空间单位为bit(比特),这是计算机中最小的表示单位每8个bit组成一个字符,这是计算机中最小的存储单位(毕竟你是没有办法存储半个字符的)orz~

 

要不要举例子说单位?就像我们形容长度会有厘米、分米、米之分,在计算机里也有自己的计量数据大小的单位

人民币的例子:给了你好多钱,假如没有万-十万

bit           位,计算机中最小的表示单位8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1ZB=1024EB1YB=1024ZB

 

 

 5.国标:GBK --->  GB2312 ---> GB18030

显然,对于我们来说能在计算机中显示中文字符是至关重要的,然而刚学习的ASCII表里连一个偏旁部首也没有。所以我们还需要一张关于中文和数字对应的关系表。

之前我们已经看到了,一个字节只能最多表示256个字符,要处理中文显然一个字节是不够的,所以我们需要采用两个字节来表示,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

 

 

      

 

        

 

  

 

 

6.Unicode, UTF-8

  为了解决每个国家不同编码不互通的问题,ISO标准组织出马了!

      

 

   

 

 

 

 

6.python里使用编码

    

     

  python3

  

 

 

  python2

 

  添加编码格式

# -*- coding: utf-8 -*-# coding=utf-8

 

 

 

 

 

 

7. 常用编码一览表

 

 

转载于:https://www.cnblogs.com/venicid/p/8351749.html

你可能感兴趣的文章
Python基础--通用序列操作
查看>>
[CERC2017]Intrinsic Interval[scc+线段树优化建图]
查看>>
DevExpress DXperience Universal 11.1.6 下载+源码+编译+汉化流程+升级+替换强名
查看>>
Bat文件注册组件
查看>>
Autoit 3 常用的语句
查看>>
PAT L2-016 愿天下有情人都是失散多年的兄妹
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
System.nanoTime与System.currentTimeMillis
查看>>
入职互联网行业两个月
查看>>
作IFRAME于iOS您的设备上支持滚动
查看>>
SQL生成n位随机字符串
查看>>
oracle备份和升级数据库
查看>>
开机黑屏 只显示鼠标 电脑黑屏 有只老鼠 举 [我们已经成功地解决了]
查看>>
Swift初窥----语法进阶
查看>>
Coolite 弹窗妙用
查看>>
[Java多线程]-ThreadLocal源码及原理的深入分析
查看>>
Mini2440内存管理单元MMU
查看>>
C语言---字符
查看>>
BA-电冰箱原理(视频)
查看>>