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)