• 技术文章 >Python技术 >Python基础教程

    Python之字符编码相关介绍

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-07-06 10:35:52原创2649

    Python 字符编码简记

    1562380028112712.png

    可以简单的理解为:

    1.为了处理英文字符,产生了ASCII码。

    2.为了处理中文字符,产生了GB2312。

    3.为了处理各国字符,产生了Unicode。

    4.为了提高Unicode存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式。

    注意:

    Python2.x 默认编码是 ASCII

    Python3.x 默认编码是 unicode,所以 Python3.x 直接支持中文不需要进行二次处理。

    相关推荐:《Python视频教程

    GBK转换成 UTF-8 的流程:

    1.通过解码 (decode) 转换成 Unicode

    2.通过编码 (encode) 转成成 GBK

    q.png

    乱码是因为系统编码与所提供字符的编码不一致所导致的。所以当我们需要操作系统正确的输出一个字符时,除了要知道该字符的字符编码,也要知道自己系统所使用的字符编码。

    Linux 系统大部分使用的是 UTF-8 编码,Windoors 系统使用的编码是 GB2312。

    可以通过 chardet 来判断字符的编码

    安装步骤:

    1. 下载 chardet-3.0.4.tar.gz 
    地址:https://pypi.python.org/pypi/chardet/3.0.4#downloads
    2. 解压至安装目录
    我的电脑为 D:\software\Python2.7\Lib\site-packages\chardet-3.0.4
    3. 打开 Windows 命令行窗口进行安装

    进入源码目录

    w.png

    使用 python setup.py install 安装

    e.png

    测试

    # -*- encoding:utf-8 -*-
    import chardet
    name = '你好'
    print(chardet.detect(name))

    运行结果:

    r.png

    在py2中

    #-*- coding: UTF-8 -*-

    声明这句话就是告诉 python2.7 解释器 (默认ACSII编码方式)解释的 .py 文件声明下面的内容按 utf8 编码,就是编码(编码成字节串最后转成0101的形式让机器去执行) 

    专题推荐:python 字符编码
    品易云
    上一篇:Python __call__方法(详解版) 下一篇:Python queue双端队列模块及用法

    相关文章推荐

    • Python转义字符及用法• Python之字符编码汇总• Python之字符串中常用的方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网