温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python编码和解码是什么

发布时间:2022-01-13 09:59:53 来源:亿速云 阅读:158 作者:iii 栏目:大数据

今天小编给大家分享一下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编码和解码是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI