1. 程式人生 > >Python3中如何解決中文亂碼與編碼的問題

Python3中如何解決中文亂碼與編碼的問題

lse 問題 ont 格式 enc strong 基本 encode code

1.解決亂碼問題:

pyhton中內部所有編碼是Unicode,中文是gbk;正常情況下,我們輸出的是utf-8;

我們可以采用sys.getdefaultencoding()查看系統默認的編碼; 解決方法有如下幾種:

1.在文件開頭添加上:#coding:utf-8或者# -*- coding:utf-8 -*-

2.轉換路徑:原文件編碼 ->unicode中轉碼 ->我們需要的編碼格式 (decode()可選) ->unicode ->encode(),如果內容已經unicode,則不需要decode(),直接使用encode()

3.舉例:

a.如果網頁是utf-8,我們可使用html.read().decode(‘utf-8‘)將網頁在控制臺打印;

b.如果網頁是gb2312,則使用html.read().decode(‘gbk‘).encode(‘‘utf-8)正常打印;(註意:decode(‘gbk‘)不能使用gbk2312,需用統一使用gbk)

4.判斷指定的內容是什麽編碼:(註意:使用unicode只針對python2,python3已經取消了unicode函數,python3默認是utf8編碼,Python 3中基本的str就是unicode,所以可以直接判斷str: >>> isinstance(‘s‘, str) True)

if isinstance(content,unicode):表示如果content編碼為unicode則為True,否則False

Python3中如何解決中文亂碼與編碼的問題