日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络爬虫--3.str和bytes的区别

發(fā)布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络爬虫--3.str和bytes的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一.bytes
  • 二.str和bytes相互轉(zhuǎn)換
  • 三.bytearray

一.bytes

bytes對象只負(fù)責(zé)以二進(jìn)制字節(jié)序列的形式記錄所需記錄的對象,至于該對象到底表示什么(比如到底是什么字符)則由相應(yīng)的編碼格式解碼所決定。

bytes是Python 3中特有的,Python 2 里不區(qū)分bytes和str。

Python2 中

>>> type(b'xxxxx') <type 'str'> >>> type('xxxxx') <type 'str'>

Python3 中

>>> type(b'xxxxx') <class 'bytes'> >>> type('xxxxx') <class 'str'>

二.str和bytes相互轉(zhuǎn)換

python3中:
str 使用encode方法轉(zhuǎn)化為 bytes
bytes通過decode轉(zhuǎn)化為str

In [9]: str1='人生苦短,我用Python!'In [10]: type(str1) Out[10]: strIn [11]: b=str1.encode()In [12]: b Out[12]: b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\ xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'In [13]: type(str1.encode()) Out[13]: bytes In [22]: b Out[22]: b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\ xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'In [23]: type(b) Out[23]: bytesIn [24]: b.decode() Out[24]: '人生苦短,我用Python!'In [25]: type(b.decode()) Out[25]: str

在Python 2中由于不區(qū)分str和bytes所以可以直接通過encode()和decode()方法進(jìn)行編碼解碼。

而在Python 3中把兩者給分開了這個在使用中需要注意。實際應(yīng)用中在互聯(lián)網(wǎng)上是通過二進(jìn)制進(jìn)行傳輸,所以就需要將str轉(zhuǎn)換成bytes進(jìn)行傳輸,而在接收中通過decode()解碼成我們需要的編碼進(jìn)行處理數(shù)據(jù)這樣不管對方是什么編碼而本地是我們使用的編碼這樣就不會亂碼。

三.bytearray

bytearray和bytes不一樣的地方在于,bytearray是可變的。

In [26]: str1 Out[26]: '人生苦短,我用Python!'In [28]: b1=bytearray(str1.encode())In [29]: b1 Out[29]: bytearray(b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')In [30]: b1.decode() Out[30]: '人生苦短,我用Python!'In [31]: b1[:6]=bytearray('生命'.encode())In [32]: b1 Out[32]: bytearray(b'\xe7\x94\x9f\xe5\x91\xbd\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')In [33]: b1.decode() Out[33]: '生命苦短,我用Python!'

總結(jié)

以上是生活随笔為你收集整理的网络爬虫--3.str和bytes的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。