廖雪峰Python學習筆記 字串與編碼

2021-09-20 09:59:13 字數 1019 閱讀 7803

三種字元編碼

ascii編碼:計算機由美國人發明,最早只有127個字元編碼—— 大小寫英文本母、數字和符號

unicode:把中文、日文、韓文等所有語言統一到一套編碼中,2-4byte,現代os和大多數語言都支援

utf-8:可變長度編碼,1-6byte。[使用utf-8編碼,傳輸英文本元,節省空間]

計算機系統字元編碼轉化:

計算機記憶體中統一使用unicode編碼

儲存到硬碟中或需要傳輸時,轉化為utf-8編碼

瀏覽網頁

伺服器把動態生成的unicode內容,轉化為utf-8在傳輸到瀏覽器

記事本編輯

從文字讀取utf-8被轉換為unicode到記憶體中

編輯完成儲存時,將unicode轉為utf-8儲存到檔案中

python中的字串

python3中以unicode編碼,支援多語言

以unicode表示的str通過encode()方法,可以編碼為指定的bytes

網路或磁碟讀取的位元組流bytes,通過decode()方法,轉化為unicode表示的str

如果bytes中只有一小部分無效的位元組,可以傳入errors='ignore』忽略錯誤的位元組

純英文的str可以用ascii編碼為bytes

含有中文的str可以用utf-8編碼為bytes

含有中文的str無法用ascii編碼 —— 中文編碼的範圍超過了ascii編碼的範圍,python會報錯

如果.py檔案本身使用utf-8編碼,並且也申明了# -- coding: utf-8 --,開啟命令提示符測試就可以正常顯示中文:

python格式化

佔位符替換內容

%d整數

%f浮點數

%s字串

%x十六進製制整數

tips:如果不太確定應該用什麼,%s永遠起作用,它會把任何資料型別轉換為字串

python廖雪峰教程 學習筆記

如何用字元來描述字元 d匹配數字 digit w匹配字母或數字 word s可以匹配空格 space 表示任意個字元,表示至少乙個字元 表示0個或1個字元,表示n個字元,表示n m個字元 可以匹配任意字元 例如 kongxiangyu w如何做到更精確的匹配?規定數字 字母或者下劃線 0 9a za...

Git 廖雪峰 學習筆記

目錄 git工作區域 git初始化及倉庫建立和操作 初始化新的git倉庫 1.新建資料夾 2.在檔案內初始化git 如何將本地倉庫同步到git 遠端倉庫 1.關聯遠端庫 2.第一次推送master分支的所有內容 3.每次本地提交後,推送最新修改 轉殖 分支管理 1.建立與合併分支 2.解決衝突 3....

git 廖雪峰學習筆記

git的誕生 linus堅決反對cvs和svn等集中式版本控制系統 因為速度慢且需要聯網 bitmover公司授權linux社群商業軟體bitkeeper免費使用權 linus社群牛人試圖破解bitkeeper的協議被bitmover公司發現 bitmover公司收回linux社群bitkeeper...