導航:首頁 > 編程語言 > python中文編碼問題

python中文編碼問題

發布時間:2022-05-28 12:56:02

python讀寫有中文的文件時,是否需要設置編碼格式

需要:
with open("路徑","模式",encoding="utf8") as f:

如果不確定編碼格式,後面讀取可能會出問題

⑵ Python中怎麼定義中文編碼

在程序的第一行指定中文編碼方式,並且輸入字元為unicode,然後編碼成gb18030方式,完整程序如下:
-------------------------------------
# -*- coding: gb18030 -*-
#!/usr/bin/python

cont = raw_input( u"請輸入:".encode("gb18030") )

print cont
-------------------------------------
輸入的內容也可以是中文

⑶ python 中文亂碼問題

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

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

⑷ Python 中文編碼問題

我這邊輸出沒有什麼問題。

下面是輸出:
i = 1
s['statuses'][0]['text'] = 出軌是男人的天性,防小三是女人一生的戰役。
s['statuses'][1]['text'] = 漂亮女孩有時候比普通女孩更可憐。男人可以很坦然的拒絕普通女孩的感情和身體,但是男人會欺騙漂亮女孩的感情從而得到她的身體。這就是為什麼古人說紅顏命薄,你們感受一下。
s['statuses'][2]['text'] = 留幾手教你如何利用空閑時間學習
。。。
i = 2
s['statuses'][20]['text'] = 罵人,其實內容並不重要,一個小蘿莉,滿嘴臟話,也嚇不住人。
。。。
i = 3
s['statuses'][40]['text'] = 我不就是在你家住的時候吃了幾只燒雞沒給你錢么?至於這么編排我么?這情節都是你在哪本言情小說里扒出來的吧?
後面省略了。

⑸ python2默認不支持中文編碼,怎麼實現對中文編碼的支持

Python 輸出 "Hello, World!",英文沒有問題,但是如果你輸出中文字元"你好,世界"就有可能會碰到中文編碼問題。
Python 文件中如果未指定編碼,在執行過程會出現報錯:

12

#!/usr/bin/pythonprint "你好,世界";

以上程序執行輸出結果為:

12

File "test.py", line 2SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see hp-0263.html for details

Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。
解決方法為只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。
實例(Python 2.0+)

1234

#!/usr/bin/python# -*- coding: UTF-8 -*- print "你好,世界";

輸出結果為:

1

你好,世界

所以如果大家再學習過程中,代碼中包含中文,就需要在頭部指定編碼。
注意:Python3.X 源碼文件默認使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。

⑹ Python2.7 中文字元編碼,使用Unicode時,選擇什麼編碼格式

  1. 終端顯示字元的編碼(windows下終端是cmd,linux下是各種terminal,遠程登錄是putty或者xshell)

  2. shell環境的編碼。比如中文版windows用的是gbk(向下兼容gb2312),大多數linux發行版使用的是utf-8(LANG=zh_CN.UTF-8)。

  3. 文本文件的編碼。這個通常取決於你的編輯器,而且有的編輯器支持多種編碼的話,你可以在文本開頭位置指定編輯器使用特定編碼。比如# -*- coding: utf8 -*-,vim看到這行會默認將這個腳本認定為utf-8兼容編碼格式。

  4. 應用程序的內部編碼。一個字元串,作為數據只是一個位元組數組,但是作為字元的數組,就有一個解析方式。java和python的內部字元編碼是utf-16,python和java都支持用不同的編碼來對位元組數組進行decode來得到字元數組。

⑺ python編碼的問題

你好:
編碼的問題確實頭疼;
我在博客園摘抄了一些編碼問題;
這個問題主要是因為:
print 是將字元串轉化為系統的編碼輸出。
而list存儲的你設置的編碼。

⑻ python2.7列印中文亂碼怎麼辦

由於python默認以ASCII編碼,所以不支持中文。所以我們需要在代碼前面寫上「#_*_ coding:utf-8 _*_」或者#coding=utf-8.當然,如
果你代碼中沒有中文,就不需要加上了。
還有一個原因,由於python所運行的操作系統決定的,windows默認的編碼方式是GBK編碼,所以這也是一個導致中文亂碼的原因之
一。
建議是不管你用什麼,先在代碼前面加上這一串,一定不會出現問題。
推薦學習《Python教程》。

⑼ python命令行輸入中文亂碼怎麼辦

python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,列印的中文仍然會亂碼。

在python3不存在該問題

運行結果:

原因

中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。

相關推薦:《Python基礎教程》

解決方法

有如下兩種方法可以解決這個問題

方法一

我們可以通過先把中文解碼為unicode,然後再轉化為gbk來解決這個問題:

修改後運行結果:

方法二

當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題:

·chcp 65001 就是換成UTF-8代碼頁

·chcp 936 可以換回默認的GBK

但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,而且可能會影響其他腳本運行,所以推薦使用第一種方法。

⑽ python有哪幾種編碼方式

第一種:ASCII碼。是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,它是現今最通用的單位元組編碼系統,並等同於國際標准IS/IEC
646。
由於計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機李,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母a的編碼是97,後128個稱為擴展ASCII碼。
第二種:GBK和GB2312。能在計算機中顯示中文字元是至關重要的,然而ASCII表裡一個偏旁部首都沒有,所以我們需要一個關於中文和數字對應的關系表,一個位元組只能最多表示256個字元,用處理中文顯然一個位元組是不夠的,所以我們需要採用兩個位元組來表示,所以中國制定了GB2312編碼,用來將中文編寫進去。
第三種:Unicode。因為各個國家都有一套自己的編碼,所以無法避免沖突,因此Unicode誕生了。它可以把所有語言都統一到一套編碼里,這樣就不會存在亂碼問題了,現代操作系統和大多數編程語言都直接支持Unicode。
第四種:UFT-8。基於節約的原則,出現了把Unicode編碼轉化為可變長編碼的UTF-8編碼。而UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成一個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組,如果你要傳輸的文本包含大量英文字元,用UTF-8編碼就能節省空間。

閱讀全文

與python中文編碼問題相關的資料

熱點內容
82一56的筒便演算法 瀏覽:404
數控機床fanuc編程 瀏覽:607
天刀mode不是內部或外部命令 瀏覽:854
長城c30壓縮機價格 瀏覽:1000
java打開圖片文件 瀏覽:409
跟程序員聊天聊到半夜 瀏覽:411
自己怎麼做app代碼 瀏覽:915
win7旗艦版進不去帶命令符 瀏覽:799
單片機溫度檢測電路 瀏覽:802
拼圖軟體不壓縮 瀏覽:656
紅袖添香小說源碼 瀏覽:624
erp加密工具在哪裡買 瀏覽:516
怎麼給qq群里的文件加密 瀏覽:762
androidsetbitmap 瀏覽:597
mt4反向編譯 瀏覽:201
sun伺服器命令 瀏覽:827
程序員同乘電梯 瀏覽:617
49乘以235的簡便演算法 瀏覽:673
新概念51單片機c語言教程光碟 瀏覽:262
伺服器分區如何選擇 瀏覽:354