最初的编码就是ASCII编码,美国信息交换码。它使用一个字节,8位二进制,可以表示128个符号。常用的1-9,26个字母以及一些英语符号等。
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。
chr() ,转换为对应Unicode表字符
ord(),转换为对于Unicode表数字
encode(),编码,将str转换为字节流
decode(),解码,将字节流转换为str
计算机存储数据的格式是二进制,日常和数学中使用的数字是十进制,为了表达简化,因此有了十六进制、八进制。
二进制---->十进制---->八进制---》十六进制
10000001 ---》129 ---》201---》81
从上式可以看出来,进制越大,表达更大数时更简化。
二进制转十进制 ,按权展开相加
十进制转二进制,除基取余
二进制转八进制 ,从右往左,取3位转换为十进制得到即为8进制,不足3位左边补0。
八进制转二进制,每位展开得到3个二进制位
二进制转十六进制,,从右往左,取4位转换为十进制得到即为16进制,不足3位左边补0。
十六进制转二进制,每位展开得到四个二进制位
int() ,
hex(),转换为16进制
bin(),转换为二进制
oct(),转换为八进制
1、首先查看树莓派上自带的python版本和执行程序所在位置,默认是python 2版本的。2、起始python3在树莓派上也已经默认安装了。采用python3进行区别版本2。查看python3的版本和位置
关于python2和python3的主要区别
1.在Python2中,print是一个打印语句,将Python后面的内容视为元组对象,直接打印出来,;在Python3中做为函数存在。
2.编码的改变。Python2默认ASCII编码方式,但是ASCII编码无法对中文等字符进行有效编码。Python3默认采用了UTF-8编码。
3.True和False的改变。Python2把True 和False视为全局变量,可以随意赋值。Python3把True和False变成了两个关键字,指向了两个固定的对象,不能再被重新赋值。
4.nonlocal关键字。Python2中要想在 嵌套函数 中将一个变量声明为非局部变量是不可能的;Python3中加入了nonlocal关键字,可以在嵌套函数中给变量前面添加关键字nonlocal,就可在嵌套函数之外使用嵌套函数中的变量。
Python2.0与Python3.0主要区别在于以下几个方面:
1、输出
Python2.0使用print关键字进行输出,比如:print “Hello”
Python3.0使用print()函数,比如print("Hello")。
2、输入方面
Python2.0使用raw_input()函数,比如:name=raw_input("请输入你的名字:")
Python3.0使用input()函数,比如:name=input("请输入你的名字:")。
3、字符串的编码格式
Python2.0默认采用ASCII编码对输入的字符串进行编码
而Python3.0默认采用Unicode编码对字符串进行编码。
4、格式化字符串的方式
Python2.0用%占位符进行标准化格式输出字符串,比如:“Hello,%s" % ("World")
Python3.0用format()函数,比如:”Hello,{}“.format("World")。
5、源文件的编码格式
Python2.0默认采用ASCII,因此使用中文时要在源文件开头加上一行注释:# -- coding: utf-8 --
Python3.0默认采用utf-8。