import json import struct def SerializeSymbolTable(SymbolTable: dict) -> bytes: """将符号表序列化为二进制格式 格式: - 4字节: JSON数据长度(小端序) - N字节: JSON数据(UTF-8编码) Args: SymbolTable: 符号表字典 Returns: 二进制字节数据 """ JsonData = json.dumps(SymbolTable, ensure_ascii=False).encode('utf-8') length = len(JsonData) # 使用4字节小端序整数表示长度 header = struct.pack(' dict: """从二进制数据反序列化符号表 Args: data: 二进制字节数据 Returns: 符号表字典 """ if len(data) < 4: raise ValueError("Invalid symbin file: data too short") # 解析4字节长度头(小端序) length = struct.unpack('