千家信息网

python编码和解码是什么

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,今天小编给大家分享一下python编码和解码是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来
千家信息网最后更新 2024年11月12日python编码和解码是什么

今天小编给大家分享一下python编码和解码是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

编码和解码

编码和解码

encode(编码) ---- 拿到明文编码后对应的字节(二进制)

decode(解码) -----将编码后的字节(二进制)解码成对应的明文

#-*-encoding:utf-8 -*- -----表示有中文时采用utf-8编码形式进行编码。

ASCII码 不支持中文

支持 英文、数字、符号

8位 1个字节


gbk国际 支持中文、英文、数字、符号,必须兼容ASCII码

英文 16位 2个字节

中文 16位、 2个字节


Unicode 万国码 必须兼容ASCII码

支持中英文、数字、符号

英文 32位 4个字节

中文 32位 4个字节


utf-8 长度可变的万国码 最少用8位

英文 8位 1个字节

欧洲 16位 2个字节

中文 24位 3个字节

python2版本用的ASCII码

python3 程序运行时,使用的是unicode,显示所有内容。

bytes类型: 传输和存储都使用的是bytes类型

pycharm 存储时默认使用utf-8编码

s = '饿了吗'
s1 = s.encode('gbk') #编码,gbk码,一个汉字2两字节
print(s1) #b'\xb6\xf6\xc1\xcb\xc2\xf0',\xb6算一个字节
s2 = s1.decode('gbk') #解码
print(s2)
print(s.encode('utf-8'))
a = '大佬'
print(a.encode('utf-8')) #b'\xe5\xa4\xa7\xe4\xbd\xac',两个汉字,六个字节,用gbk解码,两个字节一个汉字,则gbk解码应该是三个汉字
print(a.encode('utf-8').decode('gbk')) #澶т浆,utf-8编码,gbk解码
#注意用什么编码就用什么解码
b = '中国'
print(b.encode('gbk')) #编码 -----b'\xd6\xd0\xb9\xfa'
print(b.encode('gbk').decode('gbk')) #先编码再解码----中国
a = '谦虚'
b = '谦虚'
print(id(a),id(b))
ls = [1,3,4,'哈哈']
ls2 = [1,3,4,'哈哈']
print(id(ls),id(ls2)) #列表内存地址不同
print(not ls is ls2) #True
print(id(ls[-1]),id(ls2[-1])) #提取元素,但相同元素内存地址是相同的 47059648 47059648
ls = [1,3,4,'哈哈']
ls2 = [1,3,4,'哈皮']
print(id(ls[-1]),id(ls2[-1]))#47059648 47061664
#以上说明字符串占内存中占据某个位置,第二次只需调用该内存地址下的字符串即可,不再创建。省内存
#当字符串中包含特殊字符时,内存地址不同
a = [1,2,3]
b = a
c = b
print(a == c) #比较值 ,因为只创建一次列表,记住问题:有没有创建新的缓存,答案是没有
print( a is c) #比较内存地址,三个变量都指向一个列表,故内存地址相同

#比较内存地址时,要看创建了几次列表,这样记忆,创建一次列表,内存地址相同,创建多次列表,地址不同,但字符串不适用。
a = [1,3,4]
b = [1,3,4]
c = b
print(a == c) #True
print(a is b) #fasle
print(a is c) #false
s = '你好'
print(s.encode('gbk')) #b'\xc4\xe3\xba\xc3\xc2\xf0'
c = b'\xc4\xe3\xba\xc3\xc2\xf0'
print(c.decode('gbk'))#解码
print(s.encode('utf-8')) #b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97'
print(s.encode('utf-8').decode('gbk')) #浣犲ソ,用什么编码就用什么解码,这种解码无意义

以上就是"python编码和解码是什么"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0