下面是详细的攻略:
Python基础之字符编码
什么是字符编码
在计算机中,我们可以看到很多的文字,包括英文字母、中文汉字、数字和符号等等。但是,计算机中的数据处理基本上都是二进制的,所以要将这些文字转化为计算机可读的二进制码。
因此,字符编码就是将各种符号用二进制码来表示的规则,也是计算机内部相互转换的一种编码标准。
Python中常用的字符编码
Python中有很多常用的字符编码,例如ASCII、GBK、UTF-8等等。下面我们简要介绍一下这些编码。
ASCII编码
ASCII编码是美国信息交换标准代码,只能表示英文字母、数字和符号,使用一个字节(8位二进制数)来表示一个字符,共计128个字符。
在Python中,使用ord()
函数可以将字符转为ASCII码,使用chr()
函数可以将ASCII码转为字符。
示例:
>>> ord('A')
65
>>> chr(65)
'A'
GBK编码
GBK编码是中国的汉字内码扩展规范,包含了常用的中文汉字和符号。使用两个字节来表示一个字符。
在Python中,需要先将字符串转为GBK编码,才能进行操作。
示例:
>>> s = '中文'
>>> s_gb2312 = s.encode('gbk')
>>> s_gb2312
b'\xd6\xd0\xce\xc4'
>>> s_gb2312.decode('gbk')
'中文'
UTF-8编码
UTF-8编码是一种可变长度的Unicode编码格式,使用1到4个字节来表示一个字符。它支持全球范围内的全部Unicode字符,是现今最通用的字符编码。
在Python中,默认情况下使用UTF-8编码。使用encode()
函数可以将字符串编码为字节码。使用decode()
函数可以将字节码解码为字符串。
示例:
>>> s = '中文'
>>> s_utf8 = s.encode('utf-8')
>>> s_utf8
b'\xe4\xb8\xad\xe6\x96\x87'
>>> s_utf8.decode('utf-8')
'中文'
总结
字符编码是计算机内部相互转换的一种编码标准,Python中常用的字符编码有ASCII、GBK和UTF-8等。
当我们处理中文字符时,需要注意选择正确的编码格式。同时,在使用不同的编码格式进行转换时,需要使用encode()
和decode()
函数进行转换。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:老生常谈Python基础之字符编码 - Python技术站