国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解python string類型 bytes類型 bytearray類型

2020-02-16 11:08:35
字體:
來源:轉載
供稿:網友

 一、python3對文本和二進制數據做了區分。文本是Unicode編碼,str類型,用于顯示。二進制類型是bytes類型,用于存儲和傳輸。bytes是byte的序列,而str是unicode的序列。

str類型:

 >>> s = u'你好' >>> s '你好' >>> type(s) <class 'str'>

bytes類型:

 >>> b = b'abc' >>> b b'abc' >>> type(b) <class 'bytes'>

二、str和bytes之間的轉換關系:str-->encode()-->bytes-->decode()-->str

轉換方式一:encode(),decode()

 >>> a = u'你好' >>> b = a.encode('utf-8') >>> b b'/xe4/xbd/xa0/xe5/xa5/xbd' >>> type(b) <class 'bytes'> >>> new_a = b.decode('utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>

轉換方式二:bytes(),str()

 >>> a = u'你好' >>> b= bytes(a, encoding='utf-8') >>> b  b'/xe4/xbd/xa0/xe5/xa5/xbd' >>> type(b) <class 'bytes'> >>> new_a = str(b, encoding='utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>

三、bytearray類型

bytearray類是range 0 < = x < 256的一個可變序列。

可選的源參數可以用幾種不同的方式來初始化數組:

•如果它是一個字符串,那么您還必須給出編碼(以及可選的錯誤)參數;bytearray()然后使用str.encode()將字符串轉換為字節。
•如果它是一個整數,那么數組將具有這個大小,并將用null字節初始化。
•如果它是符合緩沖區接口的對象,則將使用對象的只讀緩沖區來初始化字節數組。
•如果它是可迭代的,那么它必須是range 0 < = x < 256的整數的迭代,它被用作數組的初始內容
•如果沒有參數,則創建一個大小為0的數組。

當源參數是一個字符串時:

 >>> b = bytearray(u'你好', encoding='utf-8') >>> b bytearray(b'/xe4/xbd/xa0/xe5/xa5/xbd') >>> type(b) <class 'bytearray'>

當源參數是一個整數時:

 >>> b = bytearray(5) >>> b bytearray(b'/x00/x00/x00/x00/x00') >>> type(b) <class 'bytearray'>

當源參數是一個可迭代對象,那么這個迭代對象的元素都必須符合0 <= x < 256:

 >>> b = bytearray([1, 2, 3, 4, 255]) >>> b bytearray(b'/x01/x02/x03/x04/xff') >>> type(b) <class 'bytearray'

四、bytes和bytearray區別

bytes是不可變的,同str。bytearray是可變的,同list。

 >>> b = bytearray() >>> b bytearray(b'') >>> b.append(10) >>> b bytearray(b'/n') >>> b.append(100) >>> b bytearray(b'/nd') >>> b.remove(100) >>> b bytearray(b'/n') >>> b.insert(0, 150) >>> b bytearray(b'/x96/n') >>> b.extend([1, 3, 5]) >>> b bytearray(b'/x96/n/x01/x03/x05') >>> b.pop(2) 1 >>> b bytearray(b'/x96/n/x03/x05') >>> b.reverse() >>> b bytearray(b'/x05/x03/n/x96') >>> b.clear() >>> b bytearray(b'')            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广元市| 梧州市| 阳江市| 宁国市| 鹤岗市| 屏山县| 惠水县| 雷州市| 崇明县| 宕昌县| 寿光市| 沾益县| 靖安县| 磐石市| 永城市| 颍上县| 新野县| 利川市| 灌阳县| 阳西县| 蓬溪县| 静宁县| 车致| 顺平县| 铁岭市| 利川市| 土默特右旗| 新兴县| 贵南县| 大丰市| 攀枝花市| 察雅县| 客服| 高邑县| 渭源县| 孙吴县| 北海市| 广灵县| 皮山县| 若尔盖县| 平阳县|