python bytes和str之間的轉換


Python 3最重要的新特性大概要算是對文本和二進制數據作了更為清晰的區分。文本總是Unicode,由str類型表示,二進制數據則由bytes類型表示。Python 3不會以任意隱式的方式混用str和bytes,正是這使得兩者的區分特別清晰。你不能拼接字符串和字節包,也無法在字節包里搜索字符串(反之亦然),也不能將字符串傳入參數為字節包的函數(反之亦然). 

bytes字節

str字符串

# bytes object
  b = b"example"
 
  # str object
  s = "example"
 
  # str to bytes
  bytes(s, encoding = "utf8")
 
  # bytes to str
  str(b, encoding = "utf-8")
 
  # an alternative method
  # str to bytes
  str.encode(s)
 
  # bytes to str
  bytes.decode(b)

 

bytes解碼成str,str編碼成bytes

b1=b'sdf'
s1='sag'
print(type(b1),type(s1))#<class 'bytes'> <class 'str'>
b2=b1.decode('utf8')#bytes按utf8的方式解碼成str 
print(type(b2))#<class 'str'>
s2=s1.encode('utf8')#str按utf8的方式編碼成bytes
print(type(s2))#<class 'bytes'>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM