真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)——bytes,bytearray-創(chuàng)新互聯(lián)

bytes,bytearray

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、伊美網(wǎng)站維護(hù)、網(wǎng)站推廣。

字符串與bytes

  • 字符串是字符組成的有序序列,字符可以使用編碼來(lái)理解

  • bytes是字節(jié)組成的有序的不可變序列

  • bytesarray是字節(jié)組成的有序的可變序列

編碼與解碼

  • 字符串按照不同的字符集編碼encode返回字序列bytes

            bytes.encode(encoding = 'utf - 8',errors = 'stirct') -> bytes

  • 字節(jié)序列按照不同的字符集解碼decode 返回字符串

            bytes.decode(encoding = "utf - 8",errors = "strict") -> str

            bytearray.decode(encoding ="utf - 8",errors = "strict" ) -> str

ASCII

            ASCII(American Standard Code for information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套單字節(jié)編碼系統(tǒng)

bytes定義

  • bytes() 空bytes

  • bytes(int) 指定字節(jié)bytes,被0填充

  • bytes(iterable_of_ints) -> bytes[0~255] 的int組成的可迭代對(duì)象

  • bytes(string,encodeing[,errors]) -> bytes  等價(jià)于string.encode()

  • bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer從一個(gè)字節(jié)序列或者buffer復(fù)制出一個(gè)新的額不可變的bytes對(duì)象

  • 使用b 前綴定義

            只允許基本ASCII使用字符形式 b'abc9'

            使用16進(jìn)制表示b'\x41\x61'

bytes操作

  • 和str類型類似,都是不可變類型,所以犯法很多都一樣,只不過(guò)bytes的方法,輸入是bytes,輸出是bytes

    • b'abcdef'.replace(b'f',b'k')

    • b'abc'.find(b'b')

  • 類方法 bytes.fromhex(string)

    • string必須是2 個(gè)字符的16進(jìn)制的形式,"6162 6a 6b", 空格將被忽略

    • bytes.fromhex("6162 09 6a 6b00")

  • hex()

    • 返回16 進(jìn)制表示的字符串

    • "abc".encode().hex()

  • 索引

    • b.'abcdef'[2] 返回該字節(jié)對(duì)應(yīng)的數(shù),int類型

bytearray定義

定義:

  • bytearray()空bytearray

  • bytearray(int) 指定字節(jié)的bytearray, 被0 填充

  • bytearray(iterable_of_ints) -> bytearray  [0,255]的int組成的可迭代對(duì)象

  • bytearray(string,encoding[,errors]) -> bytearry 近似string.encode() ,不過(guò)返回可變對(duì)象

  • bytearray(bytes_or_buffer)從一個(gè)字節(jié)序列或者buffer復(fù)制出一個(gè)新的可變的bytearray對(duì)象

注意:b前綴定義的類型是bytes類型

bytearray操作

  • 和bytes類型的方法相同

    • bytearray(b'abcdef').replace(b'f',b'k')

    • bytearray(b'abc').find(b'b')

  • 類方法 bytearray.fromhex(string)

    • string必須是2 個(gè)字符的16進(jìn)制的形式,‘6162 6a 6b’,空格將被忽略

    • bytearray.fromhex('6162 09 6a 6b00')

  • hex()

    • 返回16 進(jìn)制表示的字符串

    • bytearray('abc'.encode()).hex()

  • 索引

    • bytearray(b'abcdef')[2] 返回該字節(jié)對(duì)應(yīng)的數(shù),in類型

  • .append(int)尾部追加一個(gè)元素

  • .insert(index,int)在指定索引位置插入元素

  • .extend(iterable_of_ints) 講一個(gè)可迭代的整數(shù)集合追加到當(dāng)前bytearray

  • .pop(index = -1)從指定索引上移除元素,默認(rèn)從尾部移除

  • .remove(value)找到第一個(gè)value移除,找不到拋value error

注意: 上述方法若需要使用int類型,值在[0,255]

  • .clear() 清空bytearray

  • .reverse()翻轉(zhuǎn)bytearray ,就地修改

int 和 bytes 之間轉(zhuǎn)換

  • int.from_bytes(bytes,byteorder)

    • 將以個(gè)字節(jié)數(shù)組表示成整數(shù)

  • int.to_bytes(length, byteorder)

    • byteorder 指字節(jié)序(大端big)

    • 將一個(gè)整數(shù)表達(dá)成一個(gè)指定長(zhǎng)度的字節(jié)數(shù)組

i = int.form_bytes(b.'abc', 'big')
print( i , hex()) # 6382179  0x616263
printn(i.to_bytes(3 , 'big')) # b'abc'

所有數(shù)據(jù)在內(nèi)存中全部都是2進(jìn)制的形式,人要理解一個(gè)內(nèi)存中的數(shù)據(jù)必須先要指定它的類型,否則這個(gè)數(shù)據(jù)是沒(méi)有意義的

一個(gè)字節(jié) = 8位

一個(gè)字節(jié)0~255

兩個(gè)字節(jié)0~65535

0~255

0~127

大小端的意思是在內(nèi)存中數(shù)據(jù)是如何存放的 (大小端代表著高低字節(jié))例如:如果給兩個(gè)字節(jié)ab 是a放高地址呢還是b放高地址呢

低字節(jié)放在高地址上,大端模式big

低字節(jié)放在小地址上,小端模式little

高低字節(jié)的排放順序~~~

網(wǎng)絡(luò)上采用大端模式

windows內(nèi)部采用小端模式

mac用大端模式

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


本文名稱:Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)——bytes,bytearray-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/ddigjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部