py2 和 py3 默认编码方式不同
py2 是 ASCII 无法解释中文
py3 是 utf-8
如果想在 py2 中支持中文 可以在文件头部添加如下注释
# -*- coding: utf-8 -*-
# coding:utf-8
# coding=utf-8
或者在代码里设置
import sys
reload(sys) #python在加载完sys之后,会删除 sys.setdefaultencoding 这个方法,我们需要重新载入sys,才能调用 sys.setdefaultencoding 这个方法
sys.setdefaultencoding('utf-8')
字符串型和字节型数据互转
by = s.encode('utf-8') # 以utf-8的方式编码为二进制形式
str_obj = by.decode('utf-8')
str_obj = str(byte_obj, encoding='gbk')
编码格式检测
安装模块
pip install chardet
使用
import chardet
chardet.detect('今天天气很不错'.encode('gbk'))
要求传入的文本越多 检测的结果越精确