方案一:使用decode函式
在這個例項中,開頭的2行程式碼,指定檔案的編碼是UTF-8的,這一步是必須的。最後一行是先用str函式將list轉換為string,再使用decode函式進行解碼。而引數string_escape的含義是指對二進位制的位元組流,一個位元組一個位元組的轉義,與之相對應的還是一個unicode-escape,他是兩個位元組兩個位元組的轉義。下面是程式執行效果。
我們執行一下上面的程式,從中可以看到控制檯的第3行和第4行,都正確的打印出了漢字結果,即"大家好"等等字樣。第5行表示,在沒有使用decode之前,list顯示的還是亂碼,但經過decode之後,第6行就可以正確的打印出漢字來。
在上面的例項中,我們使用decode來達到我們的目的。但是每次都要增加一些函式呼叫和型別轉換,導致整個原始碼變得臃腫又難看。接下來,我們再提供一個更簡捷的方案。
方案二,使用uniout
還是先上原始碼。原始碼開頭仍然是指定檔案編碼是UTF-8,這一步是必須的。
接下來,直接加入一行import uniout。然後我們就不再需要在原始碼再進行任何特殊處理,直接print就可以在控制檯上打印出正確的漢字了。
如果你的環境裡沒有uniout,並且機器是聯網的,那麼可以直接用pip來安裝。
最新評論