python声明编码作用_Python源代码中的编码声明字符串的作用
生活随笔
收集整理的這篇文章主要介紹了
python声明编码作用_Python源代码中的编码声明字符串的作用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原來以為Python編源代碼頭部的#encoding: utf8的字符串對于python的實際編碼解析是沒有影響的。
但是今天發現一個很好玩的問題。Mark一下。
當python的代碼中存在類似u'中文'這樣的字符串的時候,假設是utf8編碼,本地保存在py文件中的時候,是按照u'\xe4\xb8\xad\xe6\x96\x87'這樣的實際本地編碼保存的。
如果編碼聲明字符串是#encoding: utf8。
那么在使用的時候沒有任何的影響。
但是如果編碼聲明字符串的時候使用#encoding: gbk
那么在執行import module的時候,python會嘗試利用gbk編碼去解析這個u'\xe4\xb8\xad\xe6\x96\x87',運行的結果當然會報錯。
SyntaxError: 'gbk' codec can't decode bytes in position 2-3: invalid data (encode.py, line 2)
如果#encoding: utf8,那么這個字符串就會被解析成u'\u4e2d\u6587'。然后就可以像正常unicode字符串一樣使用了。
0
頂
0
踩
分享到:
2010-10-15 18:57
瀏覽 3535
評論
總結
以上是生活随笔為你收集整理的python声明编码作用_Python源代码中的编码声明字符串的作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql优化说出九条_技术分享 | M
- 下一篇: python怎么导入本地文件_Pycha