本篇文章给大家分享的是有关如何为python中的字符串设置编码,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
bit: 位,计算机最小的表示单位
bytes:字节,最小的存储单位,1bytes=8bit,1bytes简写成1B
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
......
ASCII编码是基于拉丁字母一套编码,主要是显示现代英语和其西欧语言,是最早通用的单字节编码系统,具体ASCII对照表如下:
在对照表中需要记住的是大写字母A的编码是65,小写字母a的编码的97即可。
在python中可以使用chr和ord方法进行转换:
# 将数字类型转换成ASCII对应的字符 print(chr(97)) # a # 将数字转换成对应的数据 print(ord("A")) # 65 # 或者使用
但随着事件的发展,ASCII编码扩展到了256个字符,编码 对照表如下:
其中后128个字符称为扩展ASCII码
由于ASCII编码只能由256个字符组成,然只能由1个字节来表示中文是不可能的,因此制定了GB2312编码,用来表示中文的对照表
为了解决各个国家编码冲突的问题,Unicode编码就因此而生,Unicode把所有语言都统一到一套编码里面,就会避免冲突,产生乱码。
Unicodeb标准在不断发展,最常用的是用两个字节表示一个字符,也有的字符是4个字节,但是中文是占两个字节。如果统一成Unicode编码,在存储和传输上就不划算
为了解决Unicode编码存储过大的问题,就推出了可变长编码UTF-8,UTF-8编码把一个Unicode字符依据不同的数据大小编程1~6个字节,其中中文就占3个字节
可以通过encode进行编码,其中语法如下:
对字符串进行ASCII编码(只能转换数字,英文字母和一些符号)
# 方式1: 通过bytes方法 bytes('a', 'ASCII') # 方式2: 通过encode方法进行 'a'.encode('ASCII')
将字符串转换成gbk编码格式
# 方式1: 通过encode方法进行 print('你好'.encode('GBK')) # 编码之后的结果为:b'\xc4\xe3\xba\xc3' # 方式2: 通过bytes类型 print(bytes('我爱你', 'GBK')) # 编码之后的结果为:b'\xce\xd2\xb0\xae\xc4\xe3'
将字符串转换成Unicode编码格式
# 方式1: 通过encode方法进行 print('你好'.encode('unicode_escape')) # 编码之后的结果为:b'\\u4f60\\u597d' # 方式2: 通过bytes类型 print(bytes('我爱你', 'unicode_escape')) # 编码之后的结果为:b'\\u6211\\u7231\\u4f60'
将字符串转换成UTF-8编码格式
# 方式1: 通过encode方法进行 print('你好'.encode('utf-8')) # 编码之后的结果为:b'\xe4\xbd\xa0\xe5\xa5\xbd' # 方式2: 通过bytes类型 print(bytes('我爱你', 'utf-8')) # 编码之后的结果为:b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
将GBK编码格式转换成字符串
# 通过decode方法解码 print(b'\xc4\xe3\xba\xc3\xce\xd2\xb0\xae\xc4\xe3'.decode('GBK')) # 解码之后结果为:你好我爱你
将UTF-8编码格式转换成字符串
# 通过decode方法解码 print(b'\xe4\xbd\xa0\xe5\xa5\xbd\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode('utf-8')) # 解码之后结果为:你好我爱你
将Uniconde编码格式转换成字符串
# 通过decode方法解码 print(b'\\u4f60\\u597d\\u6211\\u7231\\u4f60'.decode('GBK')) # 解码之后结果为:你好我爱你
以上就是如何为python中的字符串设置编码,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。