Ⅰ Python 把一組bytes數據,按每2個位元組取出寫入一個新數組,如何做到
dt=[{"ip","sh","li"},{"qw","ty","ko"}] c.extend([i for i in dt if 'ip' in i or 'qw' in i])
Python 3.5.2 (default, Dec 7 2016, 23:38:49)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "right", "credits" or "license" for more information.
>>> dt=[{"ip","sh","li"},{"qw","ty","ko"}]
>>> c=[]
>>> c.extend([i for i in dt if 'ip' in i or 'qw' in i])
>>> c
[{'li', 'sh', 'ip'}, {'ko', 'qw', 'ty'}]
Ⅱ Python 內置類型 Bytes
官方文檔: Bytes | Built-in Types — Python 3.11.0
Bytes 類型和字元串類似,屬於不可變類型。
本質上,Bytes 是由 0 和 1 組成的序列,但為了便於顯示,每八位被劃分為一組,並按組顯示。如果這八位正好對應一個可列印的 ASCII 字元的編碼,如 A、z、0、% 等,則直接顯示該字元;如果不是,則顯示為十六進制,如下所示:
創建 Bytes 類型的對象的方法
方法一,Bytes 字面量:
Bytes 字面量僅支持 0~127 的 ACSII 字元。超出此范圍的字元會導致錯誤。建議使用 \xhh 表示大於 127 的字元。
方法二,內置函數 bytes(source, encoding):
方法三:字元串方法 encode:
2 十六進制、bytes、字元的轉化
轉化關系如下:
從十六進制轉換為 bytes:
從 bytes 轉化為十六進制:
從 bytes 轉化為字元:
從字元轉化為 bytes :
其它舉例。
將字元轉化為 GBK 編碼:
將 GBK 編碼轉化為字元 :