Python學習筆記(四) 編碼和字串

2021-09-07 21:40:15 字數 2037 閱讀 9076

(1)ascii碼:127個字母被編碼到計算機裡,也就是大小寫英文本母、數字和一些符號

(2)gb2312碼:中國制定的用於加入中文漢字的編碼

(3)unicode:防止由於各種編碼出現衝突而導致的亂碼問題。最常用的是用兩個位元組表示乙個字元(如果要用到非常偏僻的字元,就需要4個位元組)

(4)「可變長編碼」utf-8:unicode亂碼問題解決,然而是以儲存為代價的。使用可變長編碼可以一定程度上解決儲存問題,

(1)在計算機記憶體中,統一使用unicode編碼

(2)當需要儲存到硬碟或者需要傳輸的時候,轉換為utf-8編碼。

(4)瀏覽網頁的時候,伺服器會把動態生成的unicode內容轉換為utf-8再傳輸到瀏覽器

在最新的python 3版本中,字串是以unicode編碼的,也就是說,python的字串支援多語言

ord():獲取字元的整數表示

chr():把編碼轉換為對應的字元

(1)由於python的字串型別是str,在記憶體中以unicode表示,乙個字元對應若干個位元組。

(2)如果要在網路上傳輸,或者儲存到磁碟上,就需要把str變為以位元組為單位的bytes。python對bytes型別的資料用帶b字首的單引號或雙引號表示:

x = b'

cxw'

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

(4)從網路或磁碟上讀取了位元組流,那麼讀到的資料就是bytes。要把bytes變為str,就需要用decode()方法

(5)要計算str包含多少個字元,可以用len()函式:

(6)由於python源**也是乙個文字檔案,所以,當你的源**中包含中文的時候,在儲存源**時,就需要務必指定儲存為utf-8編碼。當python直譯器讀取源**時,為了讓它按utf-8編碼讀取,我們通常在檔案開頭寫上這兩行:

#

!/usr/bin/env python3

#-*- coding: utf-8 -*-

必須並且要確保文字編輯器正在使用utf-8 without bom編碼

(1)格式化方法』% 『

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

(3)%%顯示為%

Python學習筆記(二)字元編碼轉化

python剛開始出來時只支援ascii,到後來逐漸支援unicode和utf 8。如何將unicode和utf 8轉化了?就要用到 encode 和decode 將unicode轉化為utf 8,例如 中文 encode utf 8 b xe4 xb8 xad xe6 x96 x87 是將這個字元...

python學習筆記(四)字典

個人筆記,僅供參考 字典通過鍵值對來儲存資料,經常用來儲存有關聯的幾組資料。在需要處理較多資料時用的很頻繁 字典通過以下方式建立 phonebook 整個字典有大括號括起,一對鍵值對使用冒號連線,各個鍵值對之間用逗號分隔。可使用dict從其他對映 如其他字典 或鍵值對序列建立字典 items nam...

Python(二)學習筆記 一 字符集和編碼

1.計算機存的是二進位制,我們平時使用的漢字都不是二進位制,存在計算機裡用的是字元編碼。2.字符集就是一套文字元號及其編碼的描述。字符集有很多種。3.概念 a.位 計算機中的最小單位,二進位制中的一位,用0 1表示。位元 b.位元組 八位組成乙個位元組。乙個漢字可以是兩個或三個位元組 c.字元 我們...