亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python2和3字符編碼的區別知識點整理

發布時間:2020-08-23 20:04:47 來源:腳本之家 閱讀:139 作者:豆瓣醬瓣豆 欄目:開發技術

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

python2用的是ascii, python3默認是utf8讀取字符

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

python3(了解)

你看到的其實是unicode

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

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

假設終端的默認編碼是gbk , 認識 unicode編碼的變量

假設終端的默認編碼是utf8,認識 unicode編碼的變量

Python2(了解)

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

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

終端是一個文本編輯器,會有默認編碼.

假設終端的默認編碼是gbk , 認識 gbk編碼的變量

假設終端的默認編碼是utf8, 不認識 gbk編碼的變量
Python2和3字符編碼的區別知識點整理

總結

代碼詳情 Python2執行情況 Python3執行情況

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

不亂碼不亂碼

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

如:

#coding:gbkname = "爸爸"

 

但在Python3中就不會有這樣的問題,因為無論你指定了什么字符編碼,在內存存取時都會使用Unicode編碼去入內存Unicode編碼可以和任意的字符編碼相互轉換,并在讀取時按照所需的編碼區讀取,這樣就很好解決了字符編碼的問題

以上就是相關的全部內容知識點,感謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

咸丰县| 远安县| 襄垣县| 浙江省| 武强县| 西畴县| 辉县市| 准格尔旗| 南宁市| 徐州市| 扶风县| 吴江市| 南郑县| 渭南市| 同江市| 安徽省| 嘉兴市| 昌邑市| 阳朔县| 宁陵县| 旌德县| 微博| 沙坪坝区| 邵阳市| 拜泉县| 富川| 胶州市| 土默特右旗| 定兴县| 通道| 凤凰县| 汽车| 谷城县| 镇巴县| 鄂托克旗| 长宁县| 平谷区| 高碑店市| 高密市| 屏东市| 栾城县|