【免费题库】华为OD机试 - 模拟数据序列化传输(Java & JS & Python & C & C++)

本文介绍了如何处理华为在线开发者测试(OD)中的一道模拟数据序列化传输的题目,涉及Java和JS代码实现。题目要求实现数据的编码和解码,数据格式为[位置, 类型, 值],编码后数据区格式为:位置#类型#长度#数据。内容包括编码和解码的逻辑、异常处理以及示例测试用例。" 113967735,10553696,Python3连接MySQL与cryptography安装指南,"['Python3', '数据库连接', 'PyMySQL', '数据库开发', '问题解决']
摘要由CSDN通过智能技术生成

题目描述

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

编码前数据格式为 [位置,类型,值],多个数据的时候用逗号分隔,位置仅支持数字,不考虑重复等场景;类型仅支持:Integer / String / Compose(Compose的数据类型表示该存储的数据也需要编码)
编码后数据参考图示,数据区的格式是:位置#类型#长度#数据,类型存储需要编码,Integer->0;String->1;Compose->2,长度是指数据的字符长度;数据仅允许数字、大小写字母、空格。

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

输入描述

输入有两行:

第一行是命令,1表示编码,2表示解码
第二行输入待编码、解码的字符
数据最多嵌套10层,[1,Compose,[1,String,Second]] 为2层嵌套。

输出描述

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值