pythongbk文件
❶ python文件是先經過gbk解碼,再進行window1252編碼嗎,純屬小白不懂
win上open默認gbk,然後就變成py的內置str類型了,具體什麼編碼可以不用管
❷ python 讀取gbk文件 如何列印出中文
$python3
Python3.2.3(default,Feb272014,21:33:50)
[GCC4.6.3]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>importcodecs
>>>withcodecs.open("test.txt",'r','gbk')ashandle:
...forlninhandle:
...print(ln)
...
中國
>>>withopen("test.txt",'rb')ashandle:
...ch_str=handle.read()
...
>>>ch_str
b'xd6xd0xb9xfa'
>>>print(ch_str.decode("gbk"))
中國
>>>
❸ python utf8 gbk 編碼問題
你是不是想在python里把中文變成鏈接中%E5%BE%85這種形式?直接用urllib.urlencode({'word':'中文'})方法
而顯示\xe5\xbe\x85\是因為你沒有使用read()方法,加上後變成:'待解析網頁'.decode('gbk').encode('utf-8').read(),就是你熟悉的中文了。
不過,'待解析網頁'.decode('gbk').encode('utf-8')這句我要吐槽一下,網頁明顯是utf-8編碼,你在文件開頭聲明utf-8編碼就可以了,這一句是多餘的。在這基礎上讀取網頁直接用 '待解析網頁'.read()
❹ python 寫文件怎麼寫gbk編碼的文件
open('文件名','wt',encoding='gbk')
用這樣就可以了,加一個encoding參數就行了
❺ 如何修改python文件的編碼格式
可以知道的是,文本文件的默認編碼並不是utf8。
我們打開一個文本文件,並點擊另存為
2
我們在新窗口的編碼一欄看到默認編碼是ANSI。先不管這個編碼是什麼編碼,但是通過下拉列表我們知道,這種編碼不是utf8。
END
編碼測試
1
對於Python裡面的中文顯示,我們常常使用utf8和gbk的編碼。對於這兩種編碼筆者就不介紹了,總之都是專門可以處理中文的編碼方式啦。
2
我們首先對文本文件測試了gbk解碼。我們發現,此編碼下文本文件內容可以正常顯示,但是使用utf8解碼,程序出錯,拋出decodeError異常
3
同樣的,我們對Python腳本文件測試了utf8解碼。我們發現,此編碼下文本文件內容可以正常顯示,但是使用gbk解碼,中文部分出現亂碼
4
測試說明,對於文本文件需要使用gbk解碼,而對於腳本文件需要utf8解碼,也就是說,文本文件是gbk編碼的,而腳本則是utf8
❻ python中#coding:gbk有什麼用
它是一種編碼格式,簡單說明是:文件說明指令來確定不同的環境進行不同的解析,與代碼有關,但與代碼的內容無直接關聯。
其中編碼格式有多種,例如常用的還有:UTF-8
GBK即「國標」、「擴展」漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification。GBK是漢字編碼標准之一,中華人民共和國全國信息技術標准化技術委員會1995年12月1日制訂,國家技術監督局標准化司、電子工業部科技與質量監督司1995年12月15日聯合以技監標函1995 229號文件的形式,將它確定為技術規范指導性文件。
俗說的話,編碼格式指定不明確的話,一般可能會有亂碼出現。
❼ python write 寫入為什麼會報這個錯'gbk'codec can't encode character \xbb'i
使用Python寫文件的時候,或者將網路數據流寫入到本地文件的時候,大部分情況下會遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 這個問題。 網路上有很多類似的文件講述如何解決這個問題,但是無非就是encode,decode相關的,這是導致該問題出現的真正原因嗎?不是的。 很多時候,我們使用了decode和encode,試遍了各種編碼,utf8,utf-8,gbk,gb2312等等,該有的編碼都試遍了,可是編譯的時候仍然出現: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX。 崩潰了。
在windows下面編寫python腳本,編碼問題很嚴重。
將網路數據流寫入文件時時,我們會遇到幾個編碼:
1: #encoding='XXX' 這里(也就是python文件第一行的內容)的編碼是指該python腳本文件本身的編碼,無關緊要。只要XXX和文件本身的編碼相同就行了。 比如notepad++ "格式"菜單裡面里可以設置各種編碼,這時需要保證該菜單里設置的編碼和encoding XXX相同就行了,不同的話會報錯
2:網路數據流的編碼 比如獲取網頁,那麼網路數據流的編碼就是網頁的編碼。需要使用decode解碼成unicode編碼。
3:目標文件的編碼 要將網路數據流的編碼寫入到新文件,那麼我么需要指定新文件的編碼。寫文件代碼如:
復制代碼代碼如下:
f.write(txt)
,那麼txt是一個字元串,它是通過decode解碼過的字元串。關鍵點就要來了:目標文件的編碼是導致標題所指問題的罪魁禍首。如果我們打開一個文件:
復制代碼代碼如下:
f = open("out.html","w")
,在windows下面,新文件的默認編碼是gbk,這樣的話,python解釋器會用gbk編碼去解析我們的網路數據流txt,然而txt此時已經是decode過的unicode編碼,這樣的話就會導致解析不了,出現上述問題。 解決的辦法就是,改變目標文件的編碼:
復制代碼代碼如下:
f = open("out.html","w",encoding='utf-8')
❽ word文檔出現python gbk編碼怎麼解決
是因為python實現爬蟲遇到編碼問題:error:UnicodeEncodeError: 'gbk' codec can't encode character 'xXX' in position XX。具體解決辦法:
改變標准輸出,添加代碼。