Python版解決中文字串錯誤

2021-08-26 12:39:29 字數 1032 閱讀 9005

在製作工具時使用到了中文字元,結果出現了錯誤。網上搜尋了各種方法仍然無效,最後通過多次的debug和嘗試才解決。為此寫下來做為參考。

系統為ubuntu1404,安裝了python 2.7.6python 3.4.3。具體的**如下:

print(name)

把該**儲存到code.py檔案中,然後執行,出錯的資訊如下:

$ python code.py

file "code.py", line 2

syntaxerror: non-ascii character '\xe7'

in file code.py on line 23,

but no encoding declared; see for details

解決方法就是在檔案開關加入以下宣告:

#coding=utf8
該宣告告訴編譯器源**檔案使用utf-8格式進行編碼。

該方法的原理在於python2預設使用ascii編碼格式,而ascii編碼中不包括中文字元,只有unicode或者utf-8編碼才支援中文等字元。通過這種宣告,就是告訴編譯器使用utf-8格式進行編碼,這樣就能識別中文字元。

當然還有另外一種解決方法,那就是使用python3進行編譯,因為python3預設使用unicode編碼格式.

具體的操作如下:

$python3 code.py

簽名檔案.png

其實問題比較簡單,只要說清楚問題發生的背景和解決的原理就可以。

Python 解決中文字串問題

本人安裝的是python 2.7版本,由於編寫程式的過程中會碰到中文字串,但由於python預設採用ascii編碼方式,所以對中文不支援。要解決此問題,必須設定當前編碼方式為unicode方式。預設ascii編碼方式對中文字元產生的異常為 unicodedecodeerror ascii codec...

python 解決中文字串的問題

在用python處理資料庫中文字符集時遇到資料庫的個別字段只有一半。結合網上朋友給的思路,使用以下方法進行處理,如果是完整的中文字元似乎是兩個位元組,並且第乙個位元組大於128。引數test 輸入字串是gb18030 def cutstr test vlist i 0while true if i ...

Python擷取中文字串

在gbk編碼下,請編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串,但是要保證漢字不被截半個,同時忽略字串中的數字後輸出最終結果 coding gbk import re deffunc s,length g join re.findall r d s 這裡也可以用g fi...