国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 解決python2中unicode()函數在python3中報錯的問題

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

2021-10-29 09:21哦摩西羅伊 Python

這篇文章主要介紹了在python2中unicode()函數在python3中報錯的解決方案,希望給大家做個參考,下次出現這個問題的時候,也知道如何應對

python2中的unicode()函數在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。

函數轉換:unicode()到 str()為:

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

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

Python2中編碼問題

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

編碼原由系統編碼、文件編碼與python系統編碼Python字符編碼python中的字典、數組轉字符串中的中文編碼

編碼原由

ASCII編碼

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

ISO 8859-1/windows-1252

128位字符滿足了美國人的需求,但是隨之歐洲人加入互聯網,為了滿足歐洲人的需求,8位二進制后面還有128位。這一段編碼我們稱之擴展字符集,即ISO 8859-1編碼標準,后來歐洲的需求變更,即規定了windows-1252代替了ISO 8859-1

GB2312

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

GBK

相當于GB2312的改進版,增添了中文字符。但還是2個字節表示漢字

GB18030

為了滿足日韓和我國的少數民族的需求,對GBK的改進,使用變長編碼,要么使用兩個字節,要么使用四個字節。

Unicode

雖然每種編碼都兼容ASCII編碼,但是各個國家是不兼容的。于是出現了Unicode,它將所有的編碼進行了統一。它不能算是一種具體的編碼標準,只是將全世界的字符進行了編號,并沒有指定他們具體在計算機種以什么樣的形式存儲。

它的具體實現有UTF-8,UTF-16,UTF-32等。

系統編碼、文件編碼與python系統編碼

在linux中獲取系統編碼結果:

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

Windows系統的編碼,代碼頁936表示GBK編碼

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

可以看到linux系統默認使用UTF-8編碼,windows默認使用GBK編碼。Linux環境下,文件默認使用UTF-8編碼。當然你也可以指定文件編碼方式。

Python解釋器內部默認使用的ASCII編碼方式去解讀python源文件。

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

所以當文件內存在非ASCII字符時,python解釋器無 法識別,就會出現編碼錯誤。

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

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

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

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

Python字符編碼

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

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

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

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

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

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

Python中str與unicode轉換

Unicode轉str

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

str轉unicode

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

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

python中的字典、數組轉字符串中的中文編碼

當字典中的中文字符是unicode類型時

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

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

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

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

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

當字典中的字符串是string類型時

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

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

當數組進行字符串化時

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

最后總結

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://www.cnblogs.com/mlgjb/p/11144145.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲国产婷婷香蕉久久久久久99 | 国产福利一区二区 | 久久久久国产一区二区三区 | 欧美一性一交 | 激情五月综合 | 国产精品www| www中文字幕| 日本中文字幕在线视频 | 日韩有码在线观看 | 中文字幕国产一区 | 中文av一区二区三区 | 免费国产wwwwwww网站 | 操操日日 | 在线国产一区 | 色二区 | 日韩av一区二区在线观看 | 影音先锋中文字幕一区 | 一区二区三区久久 | 成人一区二区三区在线观看 | 一区二区久久久 | 欧美日韩亚洲综合 | 欧美影| 久久久91精品国产一区二区三区 | 欧美日韩一区二区视频在线观看 | 国产日韩精品一区 | 国产一区影院 | 亚洲欧美一区二区三区在线 | 中文字幕亚洲一区二区三区 | 国产精品网站在线看 | 日本一区二区三区精品视频在线观看 | 国产一区二区免费 | 国产精品久久久久久久久久久久午夜片 | 午夜社区 | 亚洲天堂一区二区 | 欧美日韩在线看 | 久久成人18免费网站 | 免费无遮挡www小视频 | 国产午夜视频 | 久久亚洲欧美日韩精品专区 | 天堂中文视频在线观看 | 成人久久一区 |