python學習DAY7(編碼轉碼)

2022-05-06 01:57:10 字數 1351 閱讀 6345

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

print

(s_to_gbk)

print

(s2)

s_to_utf8=s_to_gbk.decode("

gbk").encode("

utf-8

") #

gbk轉為utf-8:先解碼為unicode,再編碼為utf-8

print

(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,...