python字符编码unicode,utf-8,ascii

Python2与Python3的区别初识:

1.内部编码不同

2.Python2的print可以不加括号,Python3需要加括号

3.Python2中有xrange()方法,Python3中是range()

4.Python2中有raw_input()方法,Python3中是input()

几个关键词id(),is ,= ,== 

id()  打印内存地址

is     比较内存地址,返回值bool类型

=      赋值运算符

==   值比较

小数据池初识:

数字类型,字符串类型在小数据池中,其它类型不存在,其中:

数字类型范围(-5,257)

字符串类型:1.单字符串20位之前相同,20位之后则不同

      2.字符中不能出来特殊字符

>>> a,b=-5,-5
>>> a is b
$True

>>> a,b = 257,257
>>> a is b
$True

>>> a,b = 258,258
>>> s1 is s2
$False


>>> s1,s2 = 'a'*20,'a'*20
>>> s1 is s2
$True

>>> s1,s2 = 'a'*21,'a'*21
>>> s1 is s2
$False

>>> s1,s2 = 'a '*20,'a '*20
>>> s1 is s2
$False

字符编码: 

py3字符串在内存中是用unicode编码

1.各编码之间的二进制,不能相互转化

2.文件的储存、传输,不能用unicode(使用utf-8,gbk,gbk2312等)

英文:

  str:表现形式 s = 'alex'

  编码方式:unicode

  bytes:表现形式 s = b'alex'

  编码方式:utf-8 gbk gb2312

中文:  

  str:表现形式 s = '中国'

  编码方式:unicode

  bytes:表现形式 s = b'x\e91\e91\e91\e91\e91\e91'

  编码方式:utf-8 gbk gb2312

  初步判断:其中\e91\e91\e91代表一个中文编码类型为utf-8,\e91\e91代表一个中文编码为gbk

 

#encode编码,如何str -> bytes
#英亠
s1 = 'alex'
s2 = s1.encode('utf-8')  (括号内部可以转换为其它编码
print(s2)

#中文
s1 = '中国'
s22 = s1.encode('utf-8')
print(s22)

$b'\xe4\xb8\xad\xe5\x9b\xbd'

  

 

posted @ 2017-12-21 19:50  wsg-python  阅读(440)  评论(0编辑  收藏  举报