包含0x00 hex numb时,数组长度返回错误值

2024-09-29 06:29:16 发布

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

这是我正在运行的代码(使用Python3.7):

barray = {
0x22, 0x00, 0x43, 0x61, 0x62, 0x74, 0x72, 0x6f,
0x6e, 0x69, 0x78, 0x00, 0x01, 0x00, 0x41, 0x54,
0xff, 0xff, 0xff, 0xff
}
asc = '"  C a b C a b n i x    A T ÿ ÿ ÿ ÿ'


def hex_to_uint(hexarray):
    length = len(hexarray)
    rows = (length-4)/8
    print(length)
    print(rows)
    # todo write rest of function

我尊重的是把数字20和2印在屏幕上。 但是我得到15和1.375

我认为这与数组中的数字0x00有关,但我不知道


Tags: to代码lendef数字lengthtodowrite
1条回答
网友
1楼 · 发布于 2024-09-29 06:29:16

您似乎创建了set()而不是list()。python中的列表是使用方括号创建的,比如:[1, 2, 3]。一个集合总是会去掉其中的重复元素。您可以阅读内置类型here

我假设这与您的错误有关,因为您将其称为“数组”,而事实并非如此。更改括号,然后重新运行代码,看看它是否有效

相关问题 更多 >