編碼方式沖突的問題
解釋:代碼編輯第一行的注釋#-*-coding:utf-8 -*-,表明以下Python代碼使用utf-8編碼,但是很多人把題目要求的輸出語句寫成print u'" ..."',這樣就又要讓解釋器使用Unicode編碼輸出,導致解碼出錯。我們應該記住以何種方式編碼就應以何種方式解碼,否則就很有可能出現編碼錯誤。 親測 在windows下,必須要兩個一起寫才可以通過!怎么回事?
解釋:代碼編輯第一行的注釋#-*-coding:utf-8 -*-,表明以下Python代碼使用utf-8編碼,但是很多人把題目要求的輸出語句寫成print u'" ..."',這樣就又要讓解釋器使用Unicode編碼輸出,導致解碼出錯。我們應該記住以何種方式編碼就應以何種方式解碼,否則就很有可能出現編碼錯誤。 親測 在windows下,必須要兩個一起寫才可以通過!怎么回事?
2016-12-21
舉報
2016-12-21
utf-8就是unicode編碼中的一種,除此之外還有utf-16 utf-32等等都是unicode編碼,兩種都要寫的原因是,第一行的標注是為了讓解釋器知道怎么從源文件中讀取相應的字符,就是從磁盤以正確的方式讀取到內存,而輸出是標注 u是為了讓程序知道以怎樣的形式將字符輸出到標準輸出。如果你以錯誤的方式輸出,可能會出現亂碼。