深入python字符编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入python字符编码相关的知识,希望对你有一定的参考价值。
UnicodeEncodeError、UnicodeDecodeError 错误
字符
字符一个信息单位,它是各种文字和符号的统称,比如一个英文字母是一个字符,一个汉字是一个字符,一个标点符号也是一个字符。
字节
字节(Byte)是计算机中存储数据的单元,一个字节等于一个8位的比特,计算机中的所有数据,不论是磁盘文件上的还是网络上传输的数据(文字、图片、视频、音频文件)都是由字节组成的。
字符编码
字符编码(Character Encoding)是将字符集中的字符码映射为字节流的一种具体实现方案,常见的字符编码有 ASCII 编码、UTF-8 编码、GBK 编码等
编码、解码
编码的过程是将字符转换成字节流,解码的过程是将字节流解析为字符。
Python 2中的字符编码
python 2 中字符串类型有两种,unicode型和str型,他们存的分别是unicode数据类型和字节数据类型。str 类型的字符串的编码格式可以是 ascii、utf-8、gbk等任何一种类型。
无论是utf8还是gbk都只是一种编码规则,一种把unicode数据编码成字节数据的规则,所以utf8编码的字节一定要用utf8的规则解码,否则就会出现乱码或者报错的情况。
在字符编码转换操作时,遇到最多的问题就是 UnicodeEncodeError 和 UnicodeDecodeError 错误了,这些错误的根本原因在于 Python2 默认是使用 ascii 编码进行 decode 或者 encode 操作的
以上是关于深入python字符编码的主要内容,如果未能解决你的问题,请参考以下文章