zoukankan      html  css  js  c++  java
  • python中的字符编码(一)

    在Notepad++中新建一个文件命名为str_encode.py,我们想写像这样的代码:

    print("你好,祝你学习愉快!")

    会发现,Notepad里出现乱码不能正确显示汉字,这是为什么呢?

    print("雿末")

    原来Notepad++默认python的源码文件是ANSI编码的,需要在Notepad++中设置:编码==>编译成UTF-8编码。

    在python中可以放置一条注释,表示这个文件是UTF-8编码的。

    # -*- coding: utf-8 -*-
    #str_encode.py
    print("你好,祝你學習愉快!")

    但是当我们在cmd里执行str_encode.py时,又输出了乱码(我当前的学习环境是繁体XP所以上面的汉字是繁体字)。

    这又是什么情况呢?看样子我们的代码还需要修改。把我们的代码修订如下:

    #-*- coding: utf-8 -*-
    #str_encode.py
    msg = "你好,祝你學習愉快!"
    print(msg.decode("utf-8").encode("950"))

    msg是unicode编码的需要decode("utf-8")解码为UTF-8的编码后使用encode(“950”)编码为950代码也就是繁体big5编码。

    在cmd边框右键==>属性,查看cmd的编码方式。

    查看默认编码方式

    >>>import sys

    >>>sys.getdefaultencoding()

    ascii

    >>>sys.stdout.encoding

    cp950

    参考资料:

    1.阮一峰的字符编码笔记

  • 相关阅读:
    jvm的代码缓存耗尽导致性能下降
    几次印象深刻的网上事故
    是时候对十二年的工作回顾了!
    基于GitLab的前端Assets发布体系
    元数据简介
    JSON和JSONP
    Javascript模块规范
    Javascript编程风格
    Require JS
    JavaScript的AMD规范
  • 原文地址:https://www.cnblogs.com/mengfanhao/p/3117229.html
Copyright © 2011-2022 走看看