Python程序设计
上QQ阅读APP看书,第一时间看更新

2.3.1 字符集

字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character Set)是多个字符的集合。字符集种类较多,每个字符集包含的字符个数不同。常见字符集有ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要能准确地处理各种字符集文字,就需要进行字符编码,以便识别和存储各种文字。

Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台文本转换、处理的要求。需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

随着互联网的普及,人们急需一种统一的编码方式。UTF-8就是当前在互联网上使用最广的一种Unicode的实现方式。UTF是Unicode Tranformation Format的缩写,即把Unicode转成某种格式的意思。UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。UTF-8使用可变长度字节来存储Unicode字符,例如ASCII字符继续使用1字节存储,重音文字、希腊字母或西里尔字母等使用2字节来存储,而常用的汉字则要使用3字节,辅助平面字符则使用4字节。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建,已经标准化为RFC 3629。UTF-8用1~6个字节编码Unicode字符。用在网页上可以同一页面显示中文简体繁体及其他语言(如英文、日文、韩文)。

在Windows中,字符编码是由计算机的区域设置决定的,也可以为文件指定不同的编码。例如,在记事本的“文件”菜单中选择“另存为”,在“另存为”对话框中从“编码”下拉列表中选择“ASNI”“Unicode”“Unicode big endian”或“UTF-8”编码方式。默认情况下,Python 3源码文件以UTF-8编码,所有字符串都是Unicode字符串。