> 技术文档 > 华为OD机试 2025 B卷 - 模拟数据序列化传输 (C++ & Python & JAVA & JS & GO)_模拟华为od出题

华为OD机试 2025 B卷 - 模拟数据序列化传输 (C++ & Python & JAVA & JS & GO)_模拟华为od出题


模拟数据序列化传输

华为OD机试真题目录点击查看: 华为OD机试2025B卷真题题库目录|机考题库 + 算法考点详解

华为OD机试2025B卷 200分题型

题目描述

模拟一套简化的序列化传输方式,请实现下面的数据编码与解码过程

编码前数据格式为 [位置,类型,值],多个数据的时候用逗号分隔,位置仅支持数字,不考虑重复等场景;类型仅支持:Integer / String / Compose(Compose的数据类型表示该存储的数据也需要编码)。

编码后数据参考图示,数据区的格式是:位置#类型#长度#数据,类型存储需要编码,Integer->0;String->1;Compose->2,长度是指数据的字符长度;数据仅允许数字、大小写字母、空格。

华为OD机试 2025 B卷 - 模拟数据序列化传输 (C++ & Python & JAVA & JS & GO)_模拟华为od出题

输入的编码字符长度不能超过1000,一个数据的格式错误,则解析剩下数据,其他错误输出ENCODE_ERROR。

输入的解码字符不能超过1000,数据区异常则跳过继续解析剩余数据区,其他异常输出DECODE_ERROR