如何在Python中将24字节数组转换为16字节数组?

2024-09-28 15:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字节数组b_alen(b_a)返回24。但是我想使b_a的长度为16而不丢失数据。有什么办法吗


Tags: 数据字节数组办法alen
2条回答

您还可以将bytearray分割成像字符串一样的片段。所以len(mybytearray[0:16])

但这不会奏效。因为在不同的编码集(utf-8、ascii…)中,字符占据不同数量的数字。 这就是为什么我们需要知道你用什么来编码你的字节数组

它可能仍然适用于您:

mybyte = bytearray("uğurcanveözlemkardeşler", 'utf-8')
mybyte16 = mybyte[0:16]
mybyte16

这取决于你想如何做到这一点。如果它的长度是24,那么显然它有24个元素。如果要将其设置为16,则必须删除8个元素

您可以通过以下方式完成此操作:

切片:

b_a = b_a[:16]

b_a = b_a[8:]

或任何组合:

b_a = b_a[2:18]

或者您可以.pop()项:

b_a.pop(). # do this 8 times

b_a.pop(some_index). # do this 8 times

相关问题 更多 >