Ⅰ 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 编码转化为字符 :