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(),转换为八进制
网友评论