Discuss / Python / 发现很多人都不做边界检查的

发现很多人都不做边界检查的

Topic source
def bmp_info(data: bytes):
    data = data[:30]
    # 判断是否位图    ds = struct.unpack('<ccIIIIIIHH', data)
    if not ds:
        raise ValueError("不是位图:", ds)
    f_ds = ds[0] + ds[1]
    if not (f_ds == b"BM" or f_ds == b"BA"):
        raise ValueError("不是位图:", f_ds)
    return {
        'width': ds[6],        'height': ds[7],        'color': ds[9]
    }


bi = bmp_info(bmp_data)
print(bi)

  • 1

Reply