编码 is和==的区别

 is 和 == 的区别 ,  编码      encode(编码)      decode(解码)      gbk和utf-8相互转换

id(变量) 返回给你这个变量的内存地址
is 比较是的内存地址
== 比较的是值

 

s = "周杰伦"
s1 = s
print(id(s), id(s1))




is 比较是的内存地址
== 比较的是值
a = [1, 4, 7]
b = [1, 4, 7]
print(a is b) # False 两个对象
print(a == b) # True 内容一致

 

 编码

ASCII 8bit 1byte 英文小写大写字母. 特殊字符. 数字
GBK 16bit 2byte 中文 兼容ASCII
UNICODE 32bit 4byte 万国码. 占空间 浪费
UTF-8 unicode升级版, 英文 1byte, 中文 3byte

传输过程中用: UTF-8或者GBK. UNICODE 浪费资源.
内存中, 我们程序运行的过程中. 编码是unicode
转换的时候. GBK不能和UTF-8互相转换.

在程序中.字符串可以编码成bytes类型的数据
编码encode()
编码之后的结果和原来的结果其实是一样的东西. 只是看着不一样

 

 

 

encode    编码(编成字节的形式)

s='你是傻逼'
a=s.encode('gbk')
print(a)

 

 

decode    解码 (把字节解码成字符的形式)

b=a.decode('gbk')
print(b)

 

gbk和utf-8相互转换(在转换的过程中其实已经用到了Unicode)

s='你是傻逼'
a=s.encode('gbk')
print(a)
b=a.decode('gbk')
print(b)
c=s.encode('utf-8')
print(c)

 

posted @ 2018-06-07 19:21  惊世风情  阅读(311)  评论(0编辑  收藏  举报