Python 字符编码简记
可以简单的理解为:
1.为了处理英文字符,产生了ASCII码。
2.为了处理中文字符,产生了GB2312。
3.为了处理各国字符,产生了Unicode。
4、为了提高Unicode的存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式。
注意:
Python2.x 默认编码是 ASCII
Python3.x默认的编码是unicode,所以Python3.x直接支持中文,不需要二次加工。
GBK转换成 UTF-8 的流程:
1.通过解码 (decode) 转换成 Unicode
2.通过编码 (encode) 转成成 GBK
乱码是因为系统编码与所提供字符的编码不一致所导致的。所以当我们需要操作系统正确的输出一个字符时,除了要知道该字符的字符编码,也要知道自己系统所使用的字符编码。
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 命令行窗口进行安装
进入源码目录
使用 python setup.py install 安装
测试
# -*- encoding:utf-8 -*-
import chardet
name = '你好'
print(chardet.detect(name))
运行结果:
在py2中
#-*- coding: UTF-8 -*-
这句话的声明是告诉python2.7解释器(默认的ASCII编码方式)解释.py文件声明下面的内容是用utf8编码的,也就是编码(编码成字节串,最后转成0101 为机器执行)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python闭包详解(示例)11/06
- ♥ 如何在python中安装pip10/03
- ♥ 什么是python11/28
- ♥ python中如何实现super()多重继承?11/22
- ♥ 如何在python中清空数组(列表)元素08/19
- ♥ 如何用python玩hop hop? (安卓版)12/16
内容反馈