一、Python中的字符串
在Python中,字符串是一种基本的数据类型,用于存储和表示文字信息。在Python 3中,字符串是以Unicode编码方式存储的。
# 字符串示例 s = "Hello World!" print(s)
二、Python字符串编码
字符串在传输或存储时需要进行编码,Python中常用的编码包括ASCII、UTF-8、GBK等。
1. ASCII编码
ASCII是一种基础的编码方式,只支持英文字母、数字和一些符号,使用7个二进制数字表示一个字符。在Python中,可以使用ord()函数将字符转换成ASCII码,使用chr()函数将ASCII码转换成字符。
s = "Python" for c in s: print(ord(c)) print(chr(ord(c)))
2. UTF-8编码
UTF-8是一种Unicode编码方式,支持全世界几乎所有语言的字符。在Python中,可以使用encode()函数进行UTF-8编码,使用decode()函数进行解码。
s = "中文" b = s.encode('utf-8') print(b) # b'\xe4\xb8\xad\xe6\x96\x87' s2 = b.decode('utf-8') print(s2) # 中文
3. GBK编码
GBK是一种中国特定的编码方式,支持中文字符。在Python中,可以使用encode()函数进行GBK编码,使用decode()函数进行解码。
s = "中文" b = s.encode('gbk') print(b) # b'\xd6\xd0\xce\xc4' s2 = b.decode('gbk') print(s2) # 中文
三、Python字符串解码
在读取文件或者从网络传输数据时,经常需要将编码后的字符串进行解码。如果编码和解码方式不一致,会出现乱码的情况。
1. UTF-8解码
b = b'\xe4\xb8\xad\xe6\x96\x87' s = b.decode('utf-8') print(s) # 中文
2. GBK解码
b = b'\xd6\xd0\xce\xc4' s = b.decode('gbk') print(s) # 中文
四、小结
Python中的字符串编码和解码是非常重要的知识点,本文介绍了常用的ASCII、UTF-8和GBK编码方式,并提供了Python代码示例。在进行编码和解码时需要注意选择正确的编码方式,避免出现乱码。