文本總是unicode字符集,用str類型表示。
二進制數據則由bytes表示。(通過socket在網絡上傳輸數據時必須要用二進制格式)
Python不會以任何隱式的方式混用str和bytes,所以我們不能在代碼中拼接字符串和字節包
當然字符串和字節,是可以被相互轉換的。
借用一個其他的圖來說明轉換關系:


string 通過encode 編碼成 bytes 類型,而bytes格式的數據又可以通過decode來解碼成str類型。
encode 用來對string格式個數據進行編碼:
str = '你好' str.encode('UTF-8') -->表示源數據是什么格式的,不指定的話,默認為UTF-8 b'\xe4\xbd\xa0\xe5\xa5\xbd'
decode 用來對bytes格式的數據進行解碼:
str = b'\xe4\xbd\xa0\xe5\xa5\xbd' str.decode('UTF-8') -->表示把二進制數據解釋成 什么格式的數據(默認UTF-8,待測)