在计算机中仅支持英文字符,也就是ASCII字符,他包含一些字符和标点,用一个字节表示。但是中文字符编码需要两个字节,如果中文字符和ASCII混在一起就会出现错误。两个字节的中文编码有GB2312,GBK,BIG5。为了满足不同的语言包含在统一编码字符集中,国际上流行的是UNICODE,他满足跨语言的文字处理。
在python中,如果文件.py使用中文,则需要在文件的第一行使用如下语句:
# -*- coding:utf-8 -*-
其中utf-8表示使用utf-8字符集编码,也就是UNICODE的字符集,使用上述语句仅指明脚本中包含的非ASCII码转换为UTF-8编码。
例
# -*- coding:utf-8 -*-
# file: chinese.py
chinese='''
在python 中使用中文
需要注意字符编码的问题
可以使用以下几种几种字符编码
utf-8,cp936,gb2312,
'''
print chinese
python 交互命令窗口输出> ================================ RESTART ================================
>>>
在python 中使用中文
需要注意字符编码的问题
可以使用以下几种几种字符编码
utf-8,cp936,gb2312,
>>>
但是如果在命令行界面输出字符则需要设定CP936编码,例如下面输出
可以看到是乱码。这是因为,windows的命令行是采用的cp936编码,而上述的编码是utf-8,才导致乱码。解决的方案是,在脚本中使用decode和encode函数对上述的字符重新解码和编码。
在python运行结果
如下图
而在dos命令环境中输出: