Python 3最重要的新特性之一是對字符串和二進制數據流做了明確的區分。文本總是Unicode,由str類型表示,二進制數據則由bytes類型表示。Python 3不會以任意隱式的方式混用str和bytes,你不能拼接字符串和字節流,也無法在字節流里搜索字符串(反之亦然),也不能將字符串傳入參數為字節流的函數(反之亦然)。
問題背景
基于URL解析報文的時候,URL鏈接出現str類型+bytes類型是報錯TypeError,如何解決這個問題呢?
解決方案
方法一:利用str函數
方法二:利用bytes.decode()進行解碼
測試代碼如下:
# -*- coding: utf-8 -*-"""Created on Wed Sep 26 10:13:07 2018
任務:Python3 bytes類型轉換為str類型
@author: 數據人陸勤"""b1 = b'Hello's1 = 'Hello'print(type(b1))print(type(s1))# bytes類型轉換為str類型# 方法1 str()函數s2 = str(b1, encoding="utf-8")print(s2)print(type(s2))# 方法2 bytes.decode()函數s3 = bytes.decode(b1)print(s3)print(type(s3))
測試結果如下:
總結
以上所述是小編給大家介紹的Python3中bytes類型轉換為str類型,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林站長站網站的支持!
新聞熱點
疑難解答