第10章 解决中文乱码
如果你经常使用Python编程,或者在前面的章节中已经多次使用Python练习网络爬虫技术,就不可避免地会遇到中文乱码的问题。中文乱码问题经常难以解决,或者治标不治本,本章就来解决这一难题。
本章主要介绍什么是字符编码、Python的字符编码是什么以及如何解决Python中文乱码的问题。
目录
10.1 什么是字符编码
如果你已经使用Python编程了一段时间,就会发现Python的字符编码真是一件令人头痛的事情。
特别是当程序在运行的时候,突然冒出一个错误:
ValueError:Expected a bytes object,not a unicode object
或者在使用print打印结果的时候,突然冒出一个错误:
UnicodeDecodeError:'cp950'codec can't decode byte 0x96 in position 10:illegal multibyte sequence
这时,你可能马上使用百度或谷歌搜索解决方法,但是根据网上的方法即使解决了错误,但是很可能不知道为什么这个方法能够解决这个错误。这也是笔者之前经常遇到的问题,接下来就为读者介绍这些错误为什么发生,并提供解决方案,让你不再有此烦恼。
首先,从字符串编码说起,无论是Python 2还是Python 3