1樓:匿名使用者
你好:編碼的問題確實頭疼;
我在部落格園摘抄了一些編碼問題;
這個問題主要是因為:
print 是將字串轉化為系統的編碼輸出。
而list儲存的你設定的編碼。
2樓:老夭來了
python2預設編碼是ascii,如果你在檔案頂部新增# -*- coding: utf-8 -*-,會轉成utf8,
通過字串前面新增u,如u「中國」,可以轉成unicode.
python3預設unicode
3樓:匿名使用者
ot = os.listdir("f:")
print ot
測試了下上面這兩條語句,中文命名的資料夾列表顯示如下:
['\xd2\xf4\xc0\xd6', '\xcd\xbc\xc6\xac']
這不叫亂碼,只是以utf-8編碼表示中文字串。你的本意是想要得到['abc', 'bcd', '**', '**']這種形式的輸出,但是實際顯示卻是utf-8編碼。
假設我們建立乙個列表 ot = ['abc', 'bcd', '**', '**'],並且檔案開頭定義了以utf-8格式進行編碼。那麼在記憶體裡列表物件ot儲存的是'abc', 'bcd', '\xd2\xf4\xc0\xd6', '\xcd\xbc\xc6\xac'這四個值。
為什麼英文本元還是英文,中文字元就變成「亂碼」了呢?因為計算機不是人,它是看不懂'**'和'**'這幾個漢字字元的,它只認識字元的編碼值。對於多種編碼來說,鍵盤上那些英文本元編碼值都是一樣的。
中文則不一樣。
為什麼列印字串顯示出了中文,列印列表的時候顯示的卻是utf-8編碼?print 的作用是把計算機可理解的物件以人類可以理解的方式列印出來,具體顯示結果跟你要列印的物件有關,列印的是字串,顯示的就是人類語言表示的字串物件,列印的是列表,顯示的就是列表物件本身,也即該列表裡儲存的值。
print ot 表示列印乙個列表物件ot,列印的是列表本身,所以它裡面的項以什麼形式儲存的就以
什麼形式顯示。
遇到python編碼錯誤要怎麼解決
4樓:匿名使用者
在將字元bai串寫入檔案時,du執行f.write(str),後台總是報錯:unicodeencodeerror:
'ascii' codec can't encode character u'\u6211' in position 0: ordinal not in range(128),即zhiascii碼無法被轉換成daounicode碼。
剛開始我以為
內python預設的編碼是utf-8,所以使容用decode方法和encode方法來進行編碼轉換,後來怎麼也不成功,於是懷疑是否預設編碼不是utf-8。
使用下面語句獲取python當前的預設編碼:
[python] view plain copyimport sys
print sys.getdefaultencoding()
如何解決python的編碼問題
5樓:匿名使用者
gb2312是中國規定的漢字編碼,也可以說是簡體中文的字符集編碼
gbk 是 gb2312的擴充套件 ,除了相容gb2312外,它還能顯示正體中文,還有日文的假名
cp936:中文本地系統是windows中的cmd,預設codepage是cp936,cp936就是指系統裡第936號編碼格式,即gb2312的編碼。
怎麼解決python3亂碼問題
win7裝了python右鍵點py的檔案沒有idle編輯的選項
辦法1 一定要用超級使用者安裝。通常會有。你可以去掉後,重新安裝一次。辦法2 直接把python目錄裡的idle.py拖到你的桌面上辦法3 安裝sublime text2代替idle辦法4 手工修改登錄檔。我以前似乎做過這樣的嘗試。忘記怎麼做了。可以搜尋一下。py檔案執行中的登錄檔配置。還是辦法1簡...
python3 6的py檔案可以直接生成exe檔案嗎
pyinstaller目前不支援python3.6,目前最高支援到python3.5.建議用py2exe試一下,沒有試驗過,不知道行不行。 可以,先安裝pyinstaller 然後就可以打包成exe檔案 需要安裝 模組,我用的是 pyinstaller,直接生成一個exe檔案。 use pyinst...
一般是如何自學python的,我想自學Python,多久才能學會?
中公教育it優就業 python的語法簡潔清晰,語法接近英語,python簡單的語法可以讓初學者專注于思考要做的事情,而不需要在過程上大費周章。開發環境簡單,能打字就能寫 適合新手入門學習。自學python首先確定方向,方向很重要,python開發也分很多方向的,運維 後臺開發 演算法工程師 資料分...