最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決python2中unicode()函數(shù)在python3中報錯的問題

 更新時間:2021年05月12日 14:37:09   作者:哦摩西羅伊  
這篇文章主要介紹了在python2中unicode()函數(shù)在python3中報錯的解決方案,希望給大家做個參考,下次出現(xiàn)這個問題的時候,也知道如何應(yīng)對

python2中的unicode()函數(shù)在python3中會報錯:

NameError: name 'unicode' is not defined

There is no such name in Python 3, no. You are trying to run Python 2 code in Python 3. In Python 3, unicode has been renamed to str.

翻譯過來就是:Python 3中沒有這樣的名字,沒有。 您正在嘗試在Python 3中運行Python 2代碼。在Python 3中,unicode已重命名為str。

函數(shù)轉(zhuǎn)換:unicode()到 str()為:

//python2:
unicode(nn,'utf-8')
//python3:
str(nn)

補充:根本解決Python2中unicode編碼問題

Python2中編碼問題

因為計算機(jī)只識別01這要的二進(jìn)制,所以在計算機(jī)存儲我們的文件時,要使用二進(jìn)制數(shù)來表示。所以編碼就是哪個二進(jìn)制數(shù)表示哪個字符:

編碼原由系統(tǒng)編碼、文件編碼與python系統(tǒng)編碼Python字符編碼python中的字典、數(shù)組轉(zhuǎn)字符串中的中文編碼

編碼原由

ASCII編碼

最早出現(xiàn)的是ASCII碼,使用8位二進(jìn)制數(shù)組合表示128種字符。因為ASCII編碼是美國人發(fā)明的,當(dāng)初沒考慮給別的國家用,所以,它僅僅表示了所有美式英語的語言字符。但是沒有使用完。

ISO 8859-1/windows-1252

128位字符滿足了美國人的需求,但是隨之歐洲人加入互聯(lián)網(wǎng),為了滿足歐洲人的需求,8位二進(jìn)制后面還有128位。這一段編碼我們稱之?dāng)U展字符集,即ISO 8859-1編碼標(biāo)準(zhǔn),后來歐洲的需求變更,即規(guī)定了windows-1252代替了ISO 8859-1

GB2312

然后當(dāng)我國加入后,8位二進(jìn)制(即一個字節(jié))用完了,于是我們保留ASCII編碼即前128位,后面的全部刪除。因為我國得語言博大精深,所以需要2個字節(jié),即16位才能滿足我們得需求,所以當(dāng)計算機(jī)遇到大于127的字節(jié)時,就一次性讀取兩個字節(jié),將他解碼成漢字。即GB2312編碼

GBK

相當(dāng)于GB2312的改進(jìn)版,增添了中文字符。但還是2個字節(jié)表示漢字

GB18030

為了滿足日韓和我國的少數(shù)民族的需求,對GBK的改進(jìn),使用變長編碼,要么使用兩個字節(jié),要么使用四個字節(jié)。

Unicode

雖然每種編碼都兼容ASCII編碼,但是各個國家是不兼容的。于是出現(xiàn)了Unicode,它將所有的編碼進(jìn)行了統(tǒng)一。它不能算是一種具體的編碼標(biāo)準(zhǔn),只是將全世界的字符進(jìn)行了編號,并沒有指定他們具體在計算機(jī)種以什么樣的形式存儲。

它的具體實現(xiàn)有UTF-8,UTF-16,UTF-32等。

系統(tǒng)編碼、文件編碼與python系統(tǒng)編碼

在linux中獲取系統(tǒng)編碼結(jié)果:

這里寫圖片描述

Windows系統(tǒng)的編碼,代碼頁936表示GBK編碼

這里寫圖片描述

可以看到linux系統(tǒng)默認(rèn)使用UTF-8編碼,windows默認(rèn)使用GBK編碼。Linux環(huán)境下,文件默認(rèn)使用UTF-8編碼。當(dāng)然你也可以指定文件編碼方式。

Python解釋器內(nèi)部默認(rèn)使用的ASCII編碼方式去解讀python源文件。

這里寫圖片描述

所以當(dāng)文件內(nèi)存在非ASCII字符時,python解釋器無 法識別,就會出現(xiàn)編碼錯誤。

這里寫圖片描述

So,這個時候需要告訴python解釋器用utf-8去解讀python源文件

這里寫圖片描述

這里寫圖片描述

Python字符編碼

Python2中有兩類字符串,分別是str與unicode。這兩類字符串都派生自抽象類basestring。 Str即普通字符串類型

這里寫圖片描述

在字符串前加上u即unicode編碼

這里寫圖片描述

在代碼中通常用到的是unicode,文件保存的是utf-8編碼。Unicode編碼是固定2個字節(jié)代表一個字符。Utf-8是對英文只用一個字節(jié),對中文是3個字節(jié)。所以unicode運行效率高,utf-8運行效率相比要低,但是空間存儲要小。

這里寫圖片描述

Python中str與unicode轉(zhuǎn)換

Unicode轉(zhuǎn)str

這里寫圖片描述

str轉(zhuǎn)unicode

這里寫圖片描述

其函數(shù)中參數(shù)UTF-8是,以utf-8編碼對unicode對象解碼,或編碼。

python中的字典、數(shù)組轉(zhuǎn)字符串中的中文編碼

當(dāng)字典中的中文字符是unicode類型時

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

decode(“unicode-escape”)相當(dāng)是反向編碼.然后再進(jìn)行utf-8編碼即可

當(dāng)字典中的字符串是string類型時

name = {"name": "中國"}
name = str(name)
print name.decode("string-escape")

這里寫圖片描述

當(dāng)數(shù)組進(jìn)行字符串化時

這里寫圖片描述

最后總結(jié)

不管是數(shù)組還是字典,在進(jìn)行字符串轉(zhuǎn)換是,即是又一次編碼,所以,對于本身還有的中文字符串又一次編碼,所以要進(jìn)行一次反編碼,才能看到原有的編碼。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 聊聊Python中end=和sep=的區(qū)別

    聊聊Python中end=和sep=的區(qū)別

    這篇文章主要介紹了Python中end=和sep=的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python刪除文本中行數(shù)標(biāo)簽的方法

    python刪除文本中行數(shù)標(biāo)簽的方法

    這篇文章主要為大家詳細(xì)介紹了python刪除文本中行數(shù)標(biāo)簽的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python編程webpy框架模板之def with學(xué)習(xí)

    python編程webpy框架模板之def with學(xué)習(xí)

    這篇文章主要為大家介紹了python編程web.py框架模板之def with的學(xué)習(xí)有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • python使用PIL剪切和拼接圖片

    python使用PIL剪切和拼接圖片

    這篇文章主要為大家詳細(xì)介紹了python使用PIL剪切和拼接圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python合并多張圖片成PDF

    Python合并多張圖片成PDF

    最近需要將記的筆記整理成一個pdf進(jìn)行保存,所以就研究了一下如何利用Python代碼將拍下來的照片整個合并成一個pdf,感興趣的可以了解一下
    2021-06-06
  • 使用python 進(jìn)行區(qū)間取值的方法

    使用python 進(jìn)行區(qū)間取值的方法

    這篇文章主要介紹了使用python 進(jìn)行區(qū)間取值的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • python利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理

    python利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理

    這篇文章主要為大家詳細(xì)介紹了Python如何利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理,文中有詳細(xì)的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • 基于Python中求和函數(shù)sum的用法詳解

    基于Python中求和函數(shù)sum的用法詳解

    今天小編就為大家分享一篇基于Python中求和函數(shù)sum的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python批量生成條形碼的示例

    python批量生成條形碼的示例

    這篇文章主要介紹了python批量生成條形碼的示例,幫助大家更好的利用python處理圖形,感興趣的朋友可以了解下
    2020-10-10
  • 利用Python搶回在螞蟻森林逝去的能量(實現(xiàn)代碼)

    利用Python搶回在螞蟻森林逝去的能量(實現(xiàn)代碼)

    螞蟻森林是一項旨在帶動公眾低碳減排的公益項目,每個人的低碳行為在螞蟻森林里可計為"綠色能量",很多小伙伴都玩過,今天小編給大家分享一篇教程關(guān)于Python搶回在螞蟻森林逝去的能量,感興趣的朋友跟隨小編一起看看吧
    2022-03-03

最新評論

琼结县| 张北县| 中西区| 赫章县| 宜兴市| 临武县| 平遥县| 新丰县| 博罗县| 大兴区| 贡山| 洪洞县| 五原县| 桑日县| 平泉县| 玉屏| 社会| 谢通门县| 博客| 汕头市| 临朐县| 哈尔滨市| 江阴市| 尼勒克县| 那曲县| 漳浦县| 汾西县| 左云县| 五指山市| 南丰县| 耿马| 衡阳市| 卢氏县| 井陉县| 津市市| 陆良县| 文安县| 巩义市| 色达县| 舒兰市| 巩义市|