python 中文問題

2021-07-23 19:49:38 字數 1480 閱讀 5817

# -*- coding: utf-8 -*-

#coding:utf-8

中文問題:

python內部所有編碼時unicode 是一種中轉碼

中文是gbk

正常輸出是utf-8 //**中使用了# -- coding: utf-8 --

亂碼–>unicode中轉碼–>我們需要的編碼格式

decode() –> unicode –>encode我們需要的編碼

例子:

print content.decode(「gbk」).encode(「utf-8」)

自動判斷編碼,及自動處理**的轉換方法:

if isinstance(content,unicode):

print

"is unicode"

print content.encode("utf-8")

else:

print

"is not unicode"

print content.decode("gbk").encode("utf-8")

有時候乙個網頁中可能有多種編碼,網頁編碼不規範,此時decode時可能有些不能正常顯示,此時可以給decode加上第二個引數

content.decode("gbk",'ignore').encode("utf-8")
存在的問題:

(解決:

為什麼我的電腦win7上面預設的編碼是mbcs

來檢測字串的編碼方式:

所以使用起來需要用如下方式才能獲得中文:

content = html.read().decode("utf-8").encode("mbcs")

content = html.read().decode("gbk").encode("mbcs")

但是存在的問題是,使用mbcs編碼時,linux的python實現中沒有這種編碼,所以一旦移植到linux一定會出現異常!另外,只要設定的windows系統區域不同,mbcs指代的編碼也是不一樣的。so how to deal with it?

sys.getfilesystemencoding(): 獲取檔案系統使用編碼方式,windows下返回』mbcs』,mac下返回』utf-8

python中文問題

搭建 python 的 eclips環境後寫了乙個測試程式。結果出現這樣的錯誤 syntaxerror non ascii character xbd in file e workspace makeupdatafilesindex src makeindex.py on line 12,but n...

python 中文問題

1 使用python源 中可以寫入中文 coding utf 8 開頭加上 2 web json編碼為gbk,isinstance s,unicode 為true import sys reload sys sys.setdefaultencoding utf 8 3 python 中處理中文字元 ...

python中文編碼問題

在 python 中對中文進行處理的時候,往往涉及到編碼轉換的問題,通常使用以下三種編碼格式 utf 8 gbkunicode 國內用的比較多的是 gbk格式,unicode 是乙個很好的編碼方案,將世界各國的語言進行了統一的編碼,美國人後來覺得自己吃了大虧,於是又搞了一種變長編碼的 utf 8 的...