如何在 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)]
有没有一种简单的方法可以将纯文本转换为 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)]