轉自:https://www.cnblogs.com/skiler/p/6687337.html
1、bytes主要是給在計算機看的,string主要是給人看的
2、中間有個橋梁就是編碼規則,現在大趨勢是utf8
3、bytes對象是二進制,很容易轉換成16進制,例如\x64
4、string就是我們看到的內容,例如'abc'
5、string經過編碼encode,轉化成二進制對象,給計算機識別
6、bytes經過反編碼decode,轉化成string,讓我們看,但是注意反編碼的編碼規則是有范圍,\xc8就不是utf8識別的范圍
7、實例:
#!/usr/bin/env python # -*- coding: utf8 -*- # __Author: "Skiler Hao" # date: 2017/4/9 15:26 import hashlib #字節對象b b = b"example" #字符串對象s s = "example" print(b) print("example") #將字符串轉換為字節對象 b2 = bytes(s,encoding='utf8') #必須制定編碼格式 # print(b2) #字符串encode將獲得一個bytes對象 b3 = str.encode(s) b4 = s.encode() print(b3) print(type(b3)) print(b4) #將字節對象decode將獲得一個str對象 s2 = bytes.decode(b) s3 = b.decode() print(s2) print(s3)