一篇文章助你理解Python3中字串編碼問題
前幾天給大家介紹了unicode編碼和utf-8編碼的理論知識,以及Python2中字串編碼問題,沒來得及上車的小夥伴們可以戳這篇文章:淺談unicode編碼和utf-8編碼的關係和一篇文章助你理解Python2中字串編碼問題。下面在Python3環境中進行程式碼演示,分別Windows和Linux作業系統下進行演示,以加深對字串編碼的理解。
在Python2的Python檔案的檔案頭往往會宣告字元的編碼格式,通過會使用程式碼“#-*- coding -*-”作為編碼宣告,如下圖所示。
因為考慮到Python檔案中可能會穿插中文,不然的話Python通過直譯器來讀取檔案的時候,檔案中的中文就有可能識別不了。而在Python3中,我們就不必像Python2的檔案那樣進行宣告編碼格式了,因為在Python3中,預設將所有的字元都視為unicode格式了。下面在Python3環境下進行程式碼演示。
1、首先在Windows作業系統下的Python3環境中進行演示,如下圖所示。
可以看到str1就是一箇中文的字串,字串前面也沒有加u以表示其為unicode編碼,其實也沒有必要加那個字元,因為在Python3中將所有的字元都內建成unicode字元了,這就是Python2和Python3最大的區別。所有在這裡可以直接呼叫encode()函式對字串進行編碼,而且也不會報錯。
2、接下來在Linux作業系統下的Python3環境中進行演示,如下圖所示。
這個過程和Windows下是一樣的,這裡就不再贅述了。有個地方需要注意的是在Linux作業系統下,Python3的預設環境編碼變為了utf-8編碼,而不是Python2中的ASCII編碼。
總的來說,Python3解決了一個字串編碼的重要問題,所以在字串編碼的報錯方面相對Python2來說要少的多,幫助我們省下了很多事情。小夥伴們,關於在Python2和Python3中字串的編碼問題這個知識點十分重要,希望大家都可以get到噢~~
相關文章
- 一篇文章助你理解Python2中字串編碼問題Python字串編碼
- 深入分析 Java 中的中文編碼問題 (文章來自網路)Java
- 編譯原理入門篇|一篇文章理解編譯全過程編譯原理
- 一篇文章完全理解virtualenv
- Python3學習筆記-字串和編碼Python筆記字串
- 面對複雜問題時,系統思考助你理解問題本質
- JAVA編碼問題的一些理解(轉)Java
- 一篇文章理解Web快取Web快取
- Ubuntu中 MySQL 的中文編碼問題UbuntuMySql
- Python3 是如何解決棘手的字元編碼問題的?Python字元
- JS、C#中URL編碼解碼問題JSC#
- 字串編輯距離問題詳解字串
- 資訊系統中的編碼問題
- springweb開發中編碼亂碼問題解析SpringWeb
- php編碼問題PHP
- 字元編碼問題字元
- 字串-編碼字串
- 字串編碼字串編碼
- 一篇文章帶你搞定經典面試題之扔雞蛋問題面試題
- 一篇文章,從原始碼深入詳解ThreadLocal記憶體洩漏問題原始碼thread記憶體
- 深入分析 Java 中的中文編碼問題Java
- Java 中的中文編碼問題深入分析Java
- 關於Tungsten Fabic版本問題,這一篇文章說清了
- python3中編碼如何獲取網頁?Python網頁
- C++中的字串編碼處理C++字串編碼
- PHP中的字串、編碼、UTF-8PHP字串
- python3抓取網頁解碼問題!Python網頁
- 字串-字元編碼字串字元
- JS字串編碼JS字串編碼
- 深入分析 Java Web 中的中文編碼問題JavaWeb
- 字串問題字串
- 理解線段樹這一篇文章就夠啦!
- Activity、View、Window的理解一篇文章就夠了View
- [Python3] 關於Bytes與String 寫檔案遇到的編碼問題Python
- 在網上看到的一篇文章關於js和php編碼的JSPHP
- 一篇搞定面試中的跨域問題面試跨域
- MySQL 中字元編碼問題MySql字元
- 字元編碼問題記錄字元