python字符编码:
字符: 可以是一个字母,汉字,标点符号,数字等
字符集:是字符的一个组合,ASCII、Unicode、GB2312
ASCII:英文大小写字符,阿拉伯数字,控制字符(空格键、回车键)
GB2312:中国国际标准简体汉字字符集,包含简化汉字,一般符号,数字
Unicode:全球统一的字符集,包含各个国家语言中所使用到的所有字符
字符编码:对字符集中的字符进行编码,让计算机可以识别存储
字符编码类型:ASCII,UTF-8,GBK
1 、ASCII:美国信息交换标准代码,美国定制的一套以二进制进行的编码方案
2 、Unicode编码类型:全世界统一的独一无二的编码方案,可以跨平台,跨语言使用,通常会给字符前加U+
3 、UTF-8编码类型:解决Unicode资源浪费的问题,是一种针对Unicode的可边长度的一个字符编码。
python2系列版本的默认编码类型是ascii
python3系列版本的默认编码类型是utf-8
查看python中默认的编码类型:
import sys
sys.getdefaultencoding()
python2中有两种和字符串相关的类型
父类basestring
str ---decode--> unicode
srt ---<encode--- unicode
在进行同时包含str类型和unicode类型的字符串操作时,python2一律都把str解码(decode)成unicode再运算。
输入和输出
print ,input,raw_input等用于输入输出,python3后没有raw_input ptint也从原来的语句变成了一个函数。
在python3中input就是python2的raw_input也就是说我们在3系列版本中想使用就需要:
evel(input())
在python2中的print是一个语句,在3系列中的print时一个函数
1、在python2中,raw_input 会读取控制台的输入,并返回字符串类型,
没有特殊要求建议使用raw_input()来与用户交互
2、在python3中,使用input处理输入,有特殊要求的话,可以考虑加上eval
字符
整型
忘记提醒一下python2和python3中print的区别(前者是语句,后者是函数)