編碼學習 筆記

2021-09-24 15:06:45 字數 1665 閱讀 3251

編碼有ascii碼

沒有中文 只有英文

a - 00000010    乙個位元組 8位

unicode

a - 00000000 00000001 00000010 00000100     4個位元組  32位 

中 - 00000000 00000001 00000010 00000110     4個位元組  32位  

utf-8

a - 0010 0000    乙個位元組 8位

中 - 0000001 00000010 00000110    24位  3個位元組

gbka - 00000010    乙個位元組 8位

中 - 00000010 00000110    16位  2個位元組

1,各個編碼之間的二進位制,是不能互相識別的,會產生亂碼

2,檔案的傳輸和儲存都是二進位制,但不是unicode,因為32位儲存乙個字元,佔空間多

python3的字串在記憶體中是用unicode編碼的,導致傳輸和儲存要轉換。

********************

# 對於中文

# str 編碼方式:unicode

# bytes 編碼方式 utf-8 gbk等

# str 表現形式 s = "abc"

#     編碼方式 01010101 unicode

# bytes 表現形式 s = b"abc"

#       編碼方式 00101010 utf-8 gbk等

# s1 = 'abc'

# s2 = b'abs'

# print(s1, type(s1))

# print(s2, type(s2))

# abc

# b'abs'

# 對於英文

# str 編碼方式:unicode

# bytes 編碼方式 utf-8 gbk等

# str 表現形式 s = "中"

#     編碼方式 01010101 unicode

# bytes 表現形式 s = b"x\e91\e91\e01\e21\e31\e32"

#       編碼方式 00101010 utf-8 gbk等

# s1 = '中'

# s2 = b'中'

# print(s1, type(s1))

# print(s2, type(s2))

# syntaxerror: bytes can only contain ascii literal characters.

# py3的bytes中文表現不出來

# ***************

# 英文

# str轉化bytes

s1 = 'abc'

s2 = s1.encode()

print(s1, type(s1))

print(s2, type(s2))

# abc

# b'abc'

# 轉化後就可以傳輸和儲存

# 中文

s1 = '中'

s2 = s1.encode("utf-8")

print(s1, type(s1))

print(s2, type(s2))

# 中

# b'\xe4\xb8\xad'

# 轉化後就可以傳輸和儲存

字元編碼學習筆記

1.編碼方式 數字 代表什麼 顯示為什麼 編碼 ascii,gbk,unicode 字型檔案 編碼,點陣字型 所謂的編碼,是用預先規定的方法將文字 數字或其他物件程式設計數碼。ascii碼 用乙個位元組的低七位來表示英文本元 數字和其他一些符號。也就是 說我們看到的這些字元 數字在計算機中都有對應的...

編碼學習筆記 執行緒

忙讓你擁有行走江湖的勇氣,美讓你覺得人間值得。參考 程式設計師的自我修養 1.什麼是執行緒 執行緒,是程式執行流的最小單元,有時又被稱為輕量級程序。乙個標準的執行緒由執行緒id 當前指令指標pc 暫存器集合和堆疊組成。執行緒與程序的關係 執行緒訪問許可權 2.執行緒安全 多執行緒程式處於乙個多變的環...

prufer編碼學習筆記

對於乙個無根樹,他的 prufer 編碼是這樣確定的 那麼,通過給定的無根樹求 prufer 編碼就很簡單了 比如下面這個無根樹,它的 prufer 編碼就是 texttt 這個 prufer 編碼有一些很顯然的性質 首先長度肯定是 n 2 但每個元素可能相同,然後對於每個無根樹,它的 prufer...