如何在 python 中转换分段块(字节)中的纯文本?

How to convert plain text in segmented chunks (Bytes) in python?

有没有一种简单的方法可以将纯文本转换为 python 中的分段数组?每个块应该是例如 16 字节。如果纯文本的最后一部分小于 16 字节,应该可以用更小的块填充。

您可以使用 funcy 库中的 chunks 方法。一个例子是:

import funcy

text = 'samplestringwithletters'
btext = text.encode('utf-8')

chunked_text = list(funcy.chunks(3,btext))
print(chunked_text)

产生:

[b'sam', b'ple', b'str', b'ing', b'wit', b'hle', b'tte', b'rs']

如果您想在没有外部库的情况下实现相同的效果,那么您可以使用 bytes 或 bytearray。

text = 'some text to convert in the chunks'
bin_str = bytes(text.encode('utf-8'))
n = 16 #no. of bytes for chunks    
chunks = [bin_str[i:i+n] for i in range(0, len(bin_str), n)]