當前位置:首頁 » 編程語言 » python寫文件中文亂碼

python寫文件中文亂碼

發布時間: 2022-03-02 21:26:34

A. python中文顯示亂碼,已經在開頭有了coding: utf-8

亂碼原因:
因為你的文件聲明為 utf-8,並且也應該是用 utf-8 的編碼保存的源文件。但是 windows 的本地默認編碼是 cp936,也就是 gbk 編碼,所以在控制台直接列印 utf-8 的字元串當然是亂碼了。

解決方法:

py文件用記事本打開,另存為utf-8格式即可

B. python用xlwt向xls中寫入中文,顯示亂碼該怎麼解決

亂碼是編碼問題,微軟的excel默認打開的編碼是gbk,如果你寫入的數據是非gbk編碼的,那麼使用微軟excel打開就會出現亂碼的情況。解決方法為:對要寫入的數據編碼為gbk之後在進行寫入,在python中的簡單的操作方法如下:

1.源數據為unicode編碼,則直接使用encode("gbk")即可轉換編碼;

str=u"我愛中國共產黨"#unicode編碼的字元串
des_str=str.encode("gbk")#轉換為gbk編碼

2.源數據不是unicode編碼,那麼必須先使用decode函數解碼為unicode編碼,在按照第一種情況轉換為gbk編碼。

str=u"我愛中國共產黨"#unicode編碼的字元串
src_str=str.encode("utf-8")#源數據格式utf-8
des_str=str.decode("utf-8").encode("gbk")#轉換為gbk編碼

注意:encode和decode方法為字元串的方法,不能應用與列表等其他類型的數據上

C. python用pickle寫入txt出現亂碼

pickle目的不是讓人來讀的,

如果你需要類似 ['apple', 'carrot']這樣的,可以使用json模塊。

D. python 部分中文顯示亂碼

wb讀取pdf?二進制讀取????

換成w+


提示的錯誤時名稱錯誤,或者打開模式wb錯誤。

  1. 看一下名稱是否出錯,例如多了空格等

  2. 看一下計算機pdf和其他文件內部的區別,例如是否有圖片等等,導致

E. python 用python寫了個合並文件的代碼 運行完亂碼

......

不是和你說過了嗎?有可能一個是ascii編碼,一個是utf-8編碼的

或者你程序有調用到相對路徑,不是絕對路徑 就是

cp./a./b

這種形式的。這樣在不同目錄下的a和b可能是不同的。

F. python輸出到文件亂碼如何解決

python代碼文件的編碼
py文件默認是ASCII編碼,中文在顯示時會做一個ASCII到系統默認編碼的轉換,這時就會出錯:SyntaxError: Non-ASCII character。需要在代碼文件的第一行或第二行添加編碼指示:
1 # coding=utf-8 ##以utf-8編碼儲存中文字元
2 print '中文'
像上面那樣直接輸入的字元串是按照代碼文件的編碼來處理的,如果用unicode編碼,有以下三種方式:
1 s1 = u'中文' #u表示用unicode編碼方式儲存信息
2 s2 = unicode('中文','gbk')
unicode是一個內置函數,第二個參數指示源字元串的編碼格式。
decode是任何字元串具有的方法,將字元串轉換成unicode格式,參數指示源字元串的編碼格式。
encode也是任何字元串具有的方法,將字元串轉換成參數指定的格式。
(2)、字元串的編碼
用 u'漢字' 構造出來的是unicode類型,不用的話構造出來是str類型
str的編碼是與系統環境相關的,一般就是sys.getfilesystemencoding()得到的值
所以從unicode轉str,要用encode方法
從str轉unicode,所以要用decode
例如:
# coding=utf-8 #默認編碼格式為utf-8
s = u'中文' #unicode編碼的文字
print s.encode('utf-8') #轉換成utf-8格式輸出
但當python中間處理非ASCII編碼時,經常會出現如下錯誤:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的數字,python在默認的情況下認為語言的編碼是ascii編碼,所以無法處理其他編碼,需要設置python的默認編碼為所需要的編碼。
一個解決的方案是在代碼中添加:
import sys
reload(sys)
sys.setdefaultencoding('utf-8') (其中utf-8為你想輸出的字元編碼)
解釋:
sys.setdefaultencoding方法在python導入site.py後就刪除了(具體代碼查看site.py就可以看到)因此如果想用的話可以再重新load進入
總結:
u=u'unicode編碼文字'
g=u.encode('gbk') #轉換為gbk格式
print g #此時為亂碼,因為當前環境為utf-8,gbk編碼文字為亂碼
str=g.decode('gbk').encode('utf-8') #以gbk編碼格式讀取g(因為他就是gbk編碼的,需要事先知道它是GBK編碼)並轉換為utf-8格式輸出
print str #正常顯示中文(同文件輸出)
安全的方法:
s.decode('gbk','ignore').encode('utf-8′) #以gbk編碼讀取(當然是讀取gbk編碼格式的文字了)並忽略錯誤的編碼,轉換成utf-8編碼輸出。
推薦學習《Python教程》!

G. 為什麼python文件打開有亂碼

腳本開頭加 # -*- coding: utf-8 -*-用文本編輯器 打開腳本文件,將腳本文件的編碼 設置成 ANSI,保存腳本,在 IDLE 中運行,查看結果正常;# -*- coding: utf-8 -*-#這是一個注釋的練習print "這是我的第一個學習練習。Python 2"測試結果,中文顯示正常。

H. python,打開文件都是亂碼

現在為什麼還要用2啊,2馬上就不會維護了啊,為什麼會有python3呢,就是處理這些遺留問題的啊啊

I. python 中文亂碼問題

記事本是用utf-8保存你下載了東西的。你下載下來的不是utf-8,保存下來中文當然就亂碼了。而gbk和utf-8里英文的編碼值都一樣,所以不受影響。

一個方法是你留意下目標頁面的charset 和 contentType,另一個方法是你復制一個目標頁面的字,放cmd里看它的編碼長度,以此來判斷它的原來編碼。

熱點內容
資料庫應用與信息管理 發布:2025-01-12 01:26:06 瀏覽:267
esxi管理存儲伺服器 發布:2025-01-12 01:25:59 瀏覽:765
在烏班圖搭建web伺服器 發布:2025-01-12 01:25:24 瀏覽:388
浙江省開票軟體升級版伺服器地址 發布:2025-01-12 01:15:57 瀏覽:202
蘋果電腦怎麼進入電腦伺服器 發布:2025-01-12 01:08:49 瀏覽:730
安卓平板怎麼設置隔空刷抖音 發布:2025-01-12 01:08:12 瀏覽:391
手機設備存儲是什麼 發布:2025-01-12 01:03:45 瀏覽:904
linux校園網 發布:2025-01-12 00:58:54 瀏覽:407
時序插值演算法 發布:2025-01-12 00:58:25 瀏覽:812
編程的射燈 發布:2025-01-12 00:58:24 瀏覽:405