在Python中设置字符编码通常有以下几种方法:
在源文件头部声明编码
```python
-*- coding: utf-8 -*-
这告诉Python解释器该文件使用UTF-8编码。
使用`encode()`和`decode()`方法
在Python 3.x中,字符串默认使用UTF-8编码,但有时你可能需要显式地转换编码。使用`encode()`方法将字符串转换为字节串,使用`decode()`方法将字节串转换回字符串。例如:
```python
text = "你好,世界!"
encoded_text = text.encode("utf-8") 将字符串编码为UTF-8字节串
decoded_text = encoded_text.decode("utf-8") 将UTF-8字节串解码回字符串
设置系统默认编码 (Python 2.x中):
在Python 2.x中,如果源文件中没有编码声明,Python会默认使用ASCII编码,这会导致无法正常输出非ASCII字符(如中文)。可以通过以下代码设置系统默认编码为UTF-8:
```python
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
请注意,在Python 3.x中,`sys.setdefaultencoding()`方法已经被移除,因为所有字符串默认都是UTF-8编码。
在交互式解释器中查询和设置默认编码
在Python交互式解释器中,可以使用以下命令查询和设置默认编码:
```python
查询默认编码
print(sys.getdefaultencoding())
设置默认编码(Python 2.x)
reload(sys)
sys.setdefaultencoding("utf-8")
请根据你的Python版本和需求选择合适的方法来设置字符编码。