久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

零基礎Python到全棧-py文件亂碼問題

字符編碼的理論我們講完了,現(xiàn)在我們實踐驗證一下,在python程序的運行過程中,怎么保證亂碼問題。

我們運行python程序的過程中,不管是借助了python還是其他工具,本質(zhì)就是在命令行里敲了python解釋器,然后跟上Python文件的路徑。

我們執(zhí)行這個py文件之前,首先得寫好這個python文件對吧!

我們寫python程序就得用文本編輯工具,現(xiàn)在我們使用的pycharm就是一個文本編輯器。

現(xiàn)在我新建一個test.py文件,然后看屏幕的右下角。

顯示了一個UTF-8,然后我們點擊它,就就可以選擇GBK。

現(xiàn)在我們就把字符編碼改掉了,這里要注意我們改的編碼方式是改的存到硬盤的方式,而不是內(nèi)存的。

然后我在這里先寫一個注釋。然后隨便print一點東西。

現(xiàn)在這段代碼在內(nèi)存里面是轉成了Unicode格式的二進制了,接著保存。

保存的這個過程就是由內(nèi)存了的Unicode編碼,轉成了我們指定的GBK編碼,然后丟到硬盤里面去了。

現(xiàn)在在硬盤里存的是這段代碼的GBK格式的二進制。

現(xiàn)在這個程序的開發(fā)我們已經(jīng)做完了,然后我們現(xiàn)在試試把這個pycharm當做一個普通的文本編輯器,運行這個程序我們還是到命令行里面。

首先把這個文件的絕對路徑復制一下。

然后放到cmd環(huán)境下運行。

前面我們說過,運行python程序有三個階段,第一個階段就是python解釋器先啟動,這時候就相當于啟動了一個文本編輯器。

第二個階段就是這個文本編輯器要把硬盤的這個文件內(nèi)容,由硬盤讀入到內(nèi)存,注意內(nèi)存的編碼是Unicode編碼的。所以這個文本編輯器會把這個文件內(nèi)容轉成Unicode。

第三個階段其實按道理,當時按照什么編碼方式存的這個文件,現(xiàn)在就應該按照什么編碼方式來取。所以應該按照GBK編碼來轉成Unicode編碼。

但是我們根本就不沒告訴python解釋器要用GBK來轉,那么到底我們的python解釋器會默認把這個文件按照什么編碼方式來轉成Unicode呢?

敲回車,我們發(fā)現(xiàn)報錯了。

報錯內(nèi)容說語法錯誤,好像UTF-8出什么問題了。

現(xiàn)在我們猜也應該猜到了,我們現(xiàn)在用的這個python解釋器默認讀文件的編碼就是UTF-8。

那么我們怎么來告訴python解釋器不要用它默認的編碼方式來讀取文件,而是要用我告訴它的編碼方式呢?

未經(jīng)允許不得轉載:445IT之家 » 零基礎Python到全棧-py文件亂碼問題

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞