python编程(三级)1、编码、数制

2020-11-19  本文已影响0人  你在干嘛HJ

1、编码

在计算机中使用的是二进制,(为什么呢,因为二进制计算简单,可以用电路表示等等很多优点)。但是二进制对阅读和使用是不友好的,因此需要将二进制转换为人类使用的语言,英语,中文等,这就是编码。

最初的编码就是ASCII编码,美国信息交换码。它使用一个字节,8位二进制,可以表示128个符号。常用的1-9,26个字母以及一些英语符号等。

ascii码表

ascii表是不能表示中文的,因此中文也有专门的编码,诸如GB2312,GBK等。其它国家也有类似编码,因此为了方便信息的交流,也就有了统一编码,Unicode,又叫万国码。unicode用0-65535来表示所有字符,Unicode用2-4个字节存储。不同的存储方式,又不同的编码,这就是UTF-8,UTF-16,UTF-32。utf-8根据字符数字的大小,来决定存储字节,存储英文字符时用1个字节,存储汉字时用2个字节。utf-16,两个字节,utf-32,四个字节。

python3 在内存中使用的是Unicode,万国码,默认的编码是utf-8。

编码 编解码关系

2、python中编解码函数

chr() ,转换为对应Unicode表字符

ord(),转换为对于Unicode表数字

encode(),编码,将str转换为字节流

decode(),解码,将字节流转换为str


3、数制

计算机存储数据的格式是二进制,日常和数学中使用的数字是十进制,为了表达简化,因此有了十六进制、八进制。

二进制---->十进制---->八进制---》十六进制

10000001  ---》129  ---》201---》81

从上式可以看出来,进制越大,表达更大数时更简化。


4、数制转换

二进制转十进制  ,按权展开相加

十进制转二进制,除基取余

二进制转八进制 ,从右往左,取3位转换为十进制得到即为8进制,不足3位左边补0。

八进制转二进制,每位展开得到3个二进制位

二进制转十六进制,,从右往左,取4位转换为十进制得到即为16进制,不足3位左边补0。

十六进制转二进制,每位展开得到四个二进制位


5、python数制转换函数

int() ,

hex(),转换为16进制

bin(),转换为二进制

oct(),转换为八进制

上一篇下一篇

猜你喜欢

热点阅读