一篇文章助你理解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到噢~~


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276674.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Express框架開發知識點總結

express --viewpug myapp 以上語句在當前工作目錄中創建名為 myapp 的 Express 應用程序,采用的模板是jade。 以前還在糾結使用hbs模板引擎或者ejs模板,實際上只要將--view后面的pug換成hbs(使用的是Handlebars模板引擎)&#xff…

《高級軟件架構師講義》學習筆記5

第五章 設計模式與軟件架構設計 一、面向對象軟件架構設計思想 a) 面向對象范式 i. 面向對象范式的核心是“對象”的概念 ii. 所有的東西都聚焦于對象 iii. 圍繞對象-而非函數-組織代碼 b) 對象從不同視角觀察 i. 概念層:…

python 安裝xpath_Python網絡爬蟲(四)- XPath1.XPath2.XPath在python中的應用

目錄: 1.XPath XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。它使用路徑表達式來選取 XML 文檔中的節點或節點集。節點是通過沿著路徑 (path) 或者步 (steps) 來選取的。 XPath語法 2.XP…

團隊升級

2019獨角獸企業重金招聘Python工程師標準>>> 轉載于:https://my.oschina.net/yulongblog/blog/2988702

設計模式簡介

深入理解面向對象 向下:深入理解三大面向對象機制 封裝,隱藏內部實現 繼承,復用現有代碼  多態,改寫對象行為 向上:深刻把握面向對象機制所帶來的抽象意義,理解如何使用這些機制來表達現實世界&#xff0c…

Css3: gradient背景漸變

Css3: gradient背景漸變 原文鏈接&#xff1a;http://kk073000.blog.163.com/blog/static/34826942012123111322691/ css3實現了背景漸變。 <gradient> [ <linear-gradient> | <radial-gradient> | <repeating-linear-gradient> | <repeating-r…

模板方法

重構的關鍵技法&#xff1a; 靜態 -> 動態 早綁定 -> 晚綁定 繼承 -> 組合 編譯時依賴 -> 運行時依賴 緊耦合 -> 松耦合 "組件協作"模式 現代軟件專業分工之后的第一個結果是“框架與應用程序的劃分”&#xff0c;“組件協作”模式通過晚期綁定&#…

聚類 python_python中實現k-means聚類算法詳解

算法優缺點&#xff1a; 優點&#xff1a;容易實現 缺點&#xff1a;可能收斂到局部最小值&#xff0c;在大規模數據集上收斂較慢 使用數據類型&#xff1a;數值型數據 算法思想 k-means算法實際上就是通過計算不同樣本間的距離來判斷他們的相近關系的&#xff0c;相近的就會放…

python筆試常見題

1、冒泡排序&#xff1a; 冒泡排序算是最基本的python算法了。也算python面試遇到問的最多的了。 如果是封裝成函數。代碼如下&#xff1a; 如果初始就一個字典。那么代碼為&#xff1a; 冒泡排序的本質就是兩兩比較。根據結果調換位置。最終達到一個排序的效果。 注&#xff1…

固定資產打開提示:上年度數據未結轉!

問題現象&#xff1a;固定資產打開提示&#xff1a;上年度數據未結轉&#xff01; 問題分析&#xff1a;服務器出問題后&#xff0c;數據庫UFSYSTEM丟失&#xff0c;重新建賬后年度數據覆蓋后出現的&#xff0c;那么問題應該出在UFSYSTEM庫UA_ACCOUNT_SUB表與年度庫Accinformat…

windows MySQL 5+ 服務手動安裝

MySQL 5 服務手動安裝的方法&#xff1a;運行cmd&#xff0c;進入mysql的安裝目錄&#xff1a; C:\Users\aministrator> D: D:\> cd MySQL Server 5.6\bin D:\MySQL Server 5.6\bin>在bin目錄中運行mysqld.exe -install命令&#xff0c;安裝不完成會有提示信息。#1、手…

Kotlin防止按鈕多次點擊

剛開始寫kotlin 這段代碼寫的可能有問題 望指正 object ViewClickDelay {var hash: Int 0var lastClickTime: Long 0var SPACE_TIME: Long 3000 }infix fun View.clickDelay(clickAction: () -> Unit) {this.setOnClickListener {if (this.hashCode() ! hash) {hash thi…

C#網絡編程(同步傳輸字符串) - Part.2

服務端客戶端通信 在與服務端的連接建立以后&#xff0c;我們就可以通過此連接來發送和接收數據。端口與端口之間以流&#xff08;Stream&#xff09;的形式傳輸數據&#xff0c;因為幾乎任何對象都可以保存到流中&#xff0c;所以實際上可以在客戶端與服務端之間傳輸任何類型的…

Factory Method工廠方法

“對象創建“模式 通過”對象創建“模式繞開new&#xff0c;來避免對象創建(new)過程中所導致的緊耦合&#xff08;以來具體類&#xff09;&#xff0c;從而支持對象創建的穩定。它是接口抽象之后的第一部工作。 典型模式&#xff1a;Factory Method&#xff0c;Abstract Facto…

centos 關閉防火墻_CentOS7操作系統下如何關閉防火墻

centos系統如果不關閉防火墻在使用中會遇到不少問題&#xff0c;而且centos7和centos6關閉防火墻的方式不一樣。centos6:1.永久性生效&#xff0c;重啟后不會復原開啟&#xff1a; chkconfig iptables on關閉&#xff1a; chkconfig iptables off2.即時生效&#xff0c;重啟后復…

web 網頁按比例顯示圖片 js

原文鏈接&#xff1a;http://blog.csdn.net/liqinghuiyx/article/details/5442349 在動態站點上經常需要上傳自己的圖片&#xff0c;而這些圖片的大小是未知的&#xff0c;在顯示成縮略圖的時候必須進行按比例的縮放才能美觀地顯示。以最近做的golf網站&#xff08;http://www…

黑馬C++設計模式1

設計模式的基礎是&#xff1a;多態。 設計模式綜覽表&#xff1a; 單例模式&#xff1a;是保證一個類僅有一個實例&#xff0c;并提供一個訪問它的全局訪問點。 簡單工廠模式&#xff1a;通過專門頂一個一個類來負責創建其它類的實例&#xff0c;被創建的實例通常都具有共同的父…

對于未來的一點思考

最近在思考一個問題&#xff1a;以后的發展路線。   自己算是走上了IT的道路&#xff0c;但現在也只是在程序員階段&#xff0c;當然還未畢業&#xff0c;以后的路還很長&#xff0c;但是這個問題確是現在或以后不得不面對的一個問題。  上學期未那兩個月&#xff0c;去了N…

深入解析react關于事件綁定this的四種方式

這篇文章主要介紹了詳解react關于事件綁定this的四種方式&#xff0c;寫的十分的全面細致&#xff0c;具有一定的參考價值&#xff0c;對此有需要的朋友可以參考學習下。如有不足之處&#xff0c;歡迎批評指正。 在react組件中&#xff0c;每個方法的上下文都會指向該組件的實例…

Apache的認證、授權、訪問控制

原文鏈接&#xff1a; http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/howto/auth.html Apache認證、授權、訪問控制 認證(Authentication)是指任何識別用戶身份的過程。授權(Authorization)是允許特定用戶訪問特定區域或信息的過程。 相關模塊和指令 認證和授權…