欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python2和3字符編碼的區(qū)別知識點(diǎn)整理

 更新時(shí)間:2019年08月08日 16:25:10   作者:豆瓣醬瓣豆  
在本篇文章中小編給各位分享的是關(guān)于Python2和3字符編碼的區(qū)別知識點(diǎn),有需要的朋友們可以學(xué)習(xí)下。

python解釋器運(yùn)行代碼的流程啟動python解釋器(相當(dāng)于文本編輯器)打開文件,顯示這個(gè)字符并檢查語法(涉及字符編碼, a=1只是一個(gè)很普通的字符)解釋字符 (涉及字符編碼,再去內(nèi)存空間 生成一個(gè)a=1的變量)

python2用的是ascii, python3默認(rèn)是utf8讀取字符

# coding:gbk會告訴python3解釋器用gbk編碼讀取字符

python3(了解)

你看到的其實(shí)是unicode

但是終端幫你把這個(gè)unicode的0和1做一個(gè)轉(zhuǎn)換,從unicode轉(zhuǎn)換成了終端能夠識別的編碼格式,然后變成中文

# coding:gbk
a = '中文' # 用unicode編碼存儲了這堆0和1
print(a) # 010101010

假設(shè)終端的默認(rèn)編碼是gbk , 認(rèn)識 unicode編碼的變量

假設(shè)終端的默認(rèn)編碼是utf8,認(rèn)識 unicode編碼的變量

Python2(了解)

unicode + 指定的coding編碼(str類型)

# coding:gbk
a = '中文' # 用gbk編碼存儲了這堆0和1
a = u'中文' # 用unicode編碼存儲了這堆0和1
print(a)

終端是一個(gè)文本編輯器,會有默認(rèn)編碼.

假設(shè)終端的默認(rèn)編碼是gbk , 認(rèn)識 gbk編碼的變量

假設(shè)終端的默認(rèn)編碼是utf8, 不認(rèn)識 gbk編碼的變量

總結(jié)

代碼詳情 Python2執(zhí)行情況 Python3執(zhí)行情況

代碼詳情 Python2執(zhí)行情況 Python3執(zhí)行情況
# coding:gbk
print('中')
終端:utf8
亂碼 不亂碼
# coding:utf8
print('中')
終端:utf8
不亂碼 不亂碼
# coding:gbk
print(u'中')
終端:utf8
不亂碼 不亂碼
# coding:utf8
print(u'中')
終端:utf8
不亂碼 不亂碼

不亂碼不亂碼

在Python2中如果指定了字符編碼,那么內(nèi)存存取就會按照指定的字符編碼去入內(nèi)存。解釋或去執(zhí)行時(shí)就要按照指定了的字符編碼去解釋,否則就會亂碼。 否則可以在定義變量前面加上u,這樣變量就會以unicode編碼存入內(nèi)存。

如:

#coding:gbkname = "爸爸"

 

但在Python3中就不會有這樣的問題,因?yàn)闊o論你指定了什么字符編碼,在內(nèi)存存取時(shí)都會使用Unicode編碼去入內(nèi)存Unicode編碼可以和任意的字符編碼相互轉(zhuǎn)換,并在讀取時(shí)按照所需的編碼區(qū)讀取,這樣就很好解決了字符編碼的問題

以上就是相關(guān)的全部內(nèi)容知識點(diǎn),感謝大家對腳本之家的支持。

相關(guān)文章

  • Python爬蟲 urllib2的使用方法詳解

    Python爬蟲 urllib2的使用方法詳解

    這篇文章主要介紹了Python爬蟲 urllib2的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • django的分頁器Paginator 從django中導(dǎo)入類

    django的分頁器Paginator 從django中導(dǎo)入類

    這篇文章主要介紹了django的分頁器Paginator 從django中導(dǎo)入類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python中動態(tài)創(chuàng)建類實(shí)例的方法

    Python中動態(tài)創(chuàng)建類實(shí)例的方法

    在Java中我們可以通過反射來根據(jù)類名創(chuàng)建類實(shí)例,那么在Python我們怎么實(shí)現(xiàn)類似功能呢?其實(shí)在Python有一個(gè)builtin函數(shù)import,我們可以使用這個(gè)函數(shù)來在運(yùn)行時(shí)動態(tài)加載一些模塊
    2017-03-03
  • python簡單線程和協(xié)程學(xué)習(xí)心得(分享)

    python簡單線程和協(xié)程學(xué)習(xí)心得(分享)

    下面小編就為大家?guī)硪黄猵ython簡單線程和協(xié)程學(xué)習(xí)心得(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python實(shí)現(xiàn)GUI圖片瀏覽的小程序

    Python實(shí)現(xiàn)GUI圖片瀏覽的小程序

    這篇文章主要介紹了Python實(shí)現(xiàn)GUI圖片瀏覽程序,程序的實(shí)現(xiàn)需要pillow庫,pillow是 Python 的第三方圖像處理庫,需要安裝才能實(shí)用,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python通過requests模塊實(shí)現(xiàn)抓取王者榮耀全套皮膚

    Python通過requests模塊實(shí)現(xiàn)抓取王者榮耀全套皮膚

    只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不如實(shí)踐帶來的提升快,只有在實(shí)例中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)抓取王者榮耀全套皮膚,大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-10-10
  • 在Django的URLconf中使用多個(gè)視圖前綴的方法

    在Django的URLconf中使用多個(gè)視圖前綴的方法

    這篇文章主要介紹了在Django的URLconf中使用多個(gè)視圖前綴的方法,Django是Python中最為著名的遵循MVC結(jié)構(gòu)的開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • 淺談如何測試Python代碼

    淺談如何測試Python代碼

    今天帶大家了解如何用Python測試代碼,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • 詳解如何在Apache中運(yùn)行Python WSGI應(yīng)用

    詳解如何在Apache中運(yùn)行Python WSGI應(yīng)用

    在生產(chǎn)環(huán)境上,一般會使用比較健壯的Web服務(wù)器,如Apache來運(yùn)行我們的應(yīng)用,本文中我們就會介紹如何使用Apache模塊mod_wsgi來運(yùn)行Python WSGI應(yīng)用。感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python字符串處理函數(shù)簡明總結(jié)

    Python字符串處理函數(shù)簡明總結(jié)

    這篇文章主要介紹了Python字符串處理函數(shù)簡明總結(jié),本文總結(jié)了一些常用的字符串處理函數(shù),需要的朋友可以參考下
    2015-04-04

最新評論