標籤:列表 pre str 區別 儲存 font utf-8 acs print
一、編碼的種類:
1 acsic碼 基本不用 不同編碼之間互用會產生亂碼,
2unicode A 字母 4個位元組 00000000 00000000 00100100 01000000
中 文 4個位元組 00000000 00000000 00100100 00000000
3utf-8 中文 A 字母 1個位元組 00000001
歐 洲 2個位元組 00000000 00000000 00100100 00000000
亞洲 中文 3個位元組 00000000 00000000 00000000 00100100 00000000
4 gbk A 字母 2個位元組 00000000 00001000
中文 亞洲 2個位元組 00100100 00000000
二: 位元組(bytes)和 字串 (str)的區別:
bytes :表現形式: s = ‘Q’ b1 = s.encode (‘utf-8‘) print (b1) b1 = b‘Q‘
內部儲存是(utf-8 ,gbk ,gb232等)
s1 = ‘曉梅‘
b11 = s1.encode(‘utf-8‘)
表現形式: s = b‘\xe6\x99\x93\xe6\xa2\x85‘ (utf-8,gbk,gb2312.....)010101
0000 1000 0000 0000 0000 0001 0000 1001 0000 0000 0000 0001
注意:在utf-8 的情況下b 後邊有6個 (e6 99 等) 說名 曉梅 是中文 utf-8 是兩個字6個位元組
s2 = ‘曉梅‘
b22 = s1.encode(‘gbk‘)
print(b22)
b‘\xcf\xfe\xc3\xb7‘
表現形式: s = b‘\xcf\xfe\xc3\xb7‘ (utf-8,gbk,gb2312.....)010101
0000 1000 0000 0000 0000 0001 0000 1001
注意:在gbk 的情況下b 後邊有4個 (cf xf 等) 說名 曉梅 是中文 ggbk 是兩個字4個位元組
str 的表現形式 s = "wangyan‘ 內部儲存是(Unicode)
三 id(記憶體位址) ==是比較的值 is是記憶體抵制的比較
列表 字典 元祖 set 記憶體位址都是不一樣的
於int 小資料池
int : 範圍:-5---256 建立的相同的數字,都指向同一個記憶體位址。空格除外
str : 字串一般都指向想同的記憶體位址,空格除外。
s = ‘alex‘
print (s,type(s))
print(s,type(s),id(s)) alex <class ‘str‘> 51749664
如果s1 = s2 = ‘wangyan‘
print(s1 = s2)
print(s1 is s2)
於int 小資料池
int : 範圍:-5---256 建立的相同的數字,都指向同一個記憶體位址。
Python 基礎關於編碼