def __parse_header(self):
self.header_length, = struct.unpack('<I', await self.buffer.read(4))
self.header_chunk_count, = struct.unpack('<I', await self.buffer.read(4))
self.header_chunks = dict()
self.header = dict()
# Save header data from binary.
for nr in range(self.header_chunk_count):
chunk_id, = struct.unpack('<I', await self.buffer.read(4))
chunk_size, = struct.unpack('<I', await self.buffer.read(4))
self.header_chunks[chunk_id] = chunk_size & ~0x80000000
# Parse all header chunks.
for chunk_id, chunk_size in self.header_chunks.items():
self.strings.reset()
self.header.update(await self.__parse_chunk(chunk_id, chunk_size))
return self.header
评论列表
文章目录