unicode預設中英文為2個位元組,16位unicode相當於編碼的轉碼中介
ascii不可存中文字元
utf-8(可變長):英文本元按照ascii碼
中文字元三個位元組
#列印系統預設編碼
import
sysprint
(sys.getdefaultencoding())
-------------------------------------------python2中:
#若utf-8轉為gbk 預設編碼為unicode
則需要進行解碼操作,先解成unicode(可顯示中文),再編碼為gbk
s="你好
"s_to_unicode=s.decode("
utf-8")
s_to_gbk =s_to_unicode.encode("
gbk"
)----------也可以這種寫法
s=u"你好"
s_to_gbk=s.encode("
gbk")#
unicode 和 uft-8之間都可以列印顯示
--------------------------------------------python3中:預設是utf-8,宣告為utf-8s="你好"
s_to_gbk=(s.encode("
gbk")) #
utf-8轉為gbk,注意,必須要用變數儲存新轉化,否則原s不變
s2=s.encode() #
預設編碼utf-8
(s_to_gbk)
(s2)
s_to_utf8=s_to_gbk.decode("
gbk").encode("
utf-8
") #
gbk轉為utf-8:先解碼為unicode,再編碼為utf-8
(s_to_utf8)
#總之:轉碼進行需要先進行decode成unicode再encode成所要的編碼格式
注意!檔案編碼為utf-8,則需要宣告為utf-8格式,其他編碼做法類似
檔案編碼與程式執行所用的編碼不同,程式執行所用的編碼是預設的unicode,如上面的s仍然為unicode
所以開始就只有encode,因為程式已經是unicode了,不需要再解碼成unicode
解碼需要寫上需要解碼的原編碼格式
#總之,可以把程式的編譯認為是unicode編碼
python學習總結day7
01變數的引用 02可變和不可變型別 03區域性變數和全域性變數 01返回值 如果函式返回的型別是元組,小括號可以省略 當看到返回型別沒有小括號時,一定要知道返回的型別是元組 如果函式返回的型別是元組,同時希望單獨的處理元組中的元素,可以使用多個變數,一次接收函式的返回結果,變數與變數之間用逗號分隔...
Python學習筆記 day7 類
物件導向最重要的概念就是類 class 和例項 instance 比如球類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。在python中,定義類是通過class關鍵字 class people object 自定義乙個people類,括號內的objec...
python學習 day7 動態引數
以下內容僅供自己學習使用 usr bin env python coding utf 8 def func args 在形參的位置的 是聚合元組 打包,可以接受任意長度的引數 等同於def func a,b,c,d,e,f,更方便 print args func 1,4,5,6,7,8,645,2,...