Python 數(shù)據(jù)結(jié)構(gòu) 字節(jié)

bytes

  • 不可變字節(jié)序列

bytearray

  • 字節(jié)數(shù)組

  • 可變

字符串與bytes

  • 字符串是字符組成的有序序列,字符可以使用編碼來理解
  • bytes是字節(jié)組成的有序的不可變序列
  • bytearray是字節(jié)組成的有序的可變序列

編碼與解碼

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

    • encode(encoding='utf-8'删壮,errors='strict') -> bytes
  • 字節(jié)序列按照不同的字符集解碼decode返回字符串

    • bytes.decode(encoding='utf-8',errors='strict') -> str
    • bytearray.decode(encoding='utf-8',errors='strict') -> str

bytes定義

  • 十六進制的字符串表示方法是“\x”,十六進制數(shù)的時候用“0x”表示

  • bytes() -> 空bytes

  • bytes(int) -> 指定字節(jié)的bytes付枫,被0填充

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

    • >>> bytes(range(0,5))
    • ? b'\x00\x01\x02\x03\x04'
  • bytes(string,encoding[,errors]) -> bytes等價于string.encode()

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

  • 使用b前綴定義

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

    • 使用16進制表示b'\x41\x61'

      • >>> b'\x41\x61'.decode()
      • ? 'Aa'

bytes操作

  • 和str類型類似伦泥,都是不可變類型,所以很多都是一樣氧腰。只不過bytes的方法,輸入的是bytes朦拖,輸出是bytes

bytes

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

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

  • 類方法bytes.formhex(string)

    • string必須是2個字符的16 進制的形式,'6162 6a 6b'厌衔,空格將被忽略
    • bytes.fromhex('6162 09 6a 6b00')
  • hex()

    • 返回16進制表示的字符串

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

  • 索引

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

bytearray 定義

  • bytearray() ->空bytearray
  • bytearray(int) -> 指定字節(jié)的bytearray, 被0填充
  • bytearray(iterable_of_ints) ->bytearray[0,255]的int組成的可迭代對象
  • bytearray(string,encoding[,errors]) -> bytearray近似string.encode(),不過返回可變對象
  • bytearray(bytes_or_buffer) 從一個字節(jié)序列或者buffer復(fù)制出一個新的可變bytearray對象
  • 注意富寿,b前綴定義的類型是bytes類型

bytearray操作

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

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

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

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

  • remove(value)找到第一個value移除,找不到拋ValueError異常

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

  • clear()清空bytearray

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

int 和 bytes

  • int.from_bytes(bytes,byteorder)

    • 將一個字節(jié)數(shù)組表示成整數(shù)
  • int.to_bytes(leng,byteorder)

    • byteorder 字節(jié)序
    • 將一個整數(shù)表達成一個指定長度的字節(jié)數(shù)組
>>> i = int.from_bytes(b'abc','big')
>>> i
6382179
>>>
>>> print(i,hex(i))
6382179 0x616263
>>> print(i.to_bytes(3,'big'))
b'abc'

ASCII

ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套計算機編碼系統(tǒng)变勇。它主要用于顯示現(xiàn)代英語恤左,而其擴展版本EASCII則可以部分支持其他西歐語言,并等同于國際標(biāo)準(zhǔn)ISO/IEC 646贰锁。其中33個字符無法顯示(一些終端提供了擴展赃梧,使得這些字符可顯示為諸如笑臉、撲克牌花式等8-bit符號)豌熄,且這33個字符多數(shù)都已是陳廢的控制字符授嘀。控制字符的用途主要是用來操控已經(jīng)處理過的文字锣险。在33個字符之外的是95個可顯示的字符蹄皱。用鍵盤敲下空白鍵所產(chǎn)生的空白字符也算1個可顯示字符(顯示為空白)涨薪。

ASCII-Table-wide
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悬赏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惧所,更是在濱河造成了極大的恐慌崖咨,老刑警劉巖锻拘,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異击蹲,居然都是意外死亡署拟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門歌豺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來推穷,“玉大人,你說我怎么就攤上這事类咧÷澹” “怎么了蟹腾?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長区宇。 經(jīng)常有香客問我娃殖,道長,這世上最難降的妖魔是什么萧锉? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任珊随,我火速辦了婚禮,結(jié)果婚禮上柿隙,老公的妹妹穿的比我還像新娘叶洞。我一直安慰自己,他們只是感情好禀崖,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布衩辟。 她就那樣靜靜地躺著,像睡著了一般波附。 火紅的嫁衣襯著肌膚如雪艺晴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天掸屡,我揣著相機與錄音封寞,去河邊找鬼。 笑死仅财,一個胖子當(dāng)著我的面吹牛狈究,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盏求,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼抖锥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了碎罚?” 一聲冷哼從身側(cè)響起磅废,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荆烈,沒想到半個月后拯勉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡憔购,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年宫峦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倦始。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡斗遏,死狀恐怖山卦,靈堂內(nèi)的尸體忽然破棺而出鞋邑,到底是詐尸還是另有隱情诵次,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布枚碗,位于F島的核電站逾一,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肮雨。R本人自食惡果不足惜遵堵,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怨规。 院中可真熱鬧陌宿,春花似錦、人聲如沸波丰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掰烟。三九已至爽蝴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纫骑,已是汗流浹背蝎亚。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留先馆,地道東北人发框。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像磨隘,于是被迫代替她去往敵國和親缤底。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容