python27 UnicodeDecodeError: 'utf8' codec can't decode byte 0xb7 in position 34: invalid 報錯解決


python27在windows 命令行窗口中運行代碼,我的python程序開頭使用了

sys.setdefaultencoding('utf-8')

當我在程序中將 由命令行參數 傳來的包含中文名的字符串 解碼為 utf-8 格式的時候報錯:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xb7 in position 34: invalid

或者
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb9 in position 91: invalid

(因為這個代碼 codecs.utf_8_decode(input, errors, True) 導致的錯誤)

我的解決方案如下( 下面的示例代碼中 cmd_input_str 變量 記錄命令行接收到的字串 )

save_str = (cmd_input_str.decode('gb2312')).encode('utf-8')

這樣寫就不會報錯了,能成功保存到xml

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM