python 中中文编码及输出问题

         在计算机中仅支持英文字符,也就是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命令环境中输出:





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值