最关键的二进制是直接写的,不转义\x00 不编码base64
其他都是文本可读的,
json 因为盲目抄 c/java, 用转义符描述二进制, 占用 400%空间
base64是 133% 空间且不能用二进制编辑器可读
本方案直接存二进制,是100%; 长度前缀之类的相对于二进制内容都是固定成本
允许在无歧义的情况下省略长度前缀和括号
"[{ key1 value1 key2 value2 }
{ bytes 256(\x00...\xFF) }]"
【 在 wincss 的大作中提到: 】
什么叫“我可以理解为”?你规定了一个序列化格式,对一个输入数据,它就应该
有唯一的序列化结果。
“前缀也是可读十进制”,“括号用于增强可读性,校验纠错”
这不都是你说的吗,拿你这序列化结果里到底有没有长度前缀和括号呢?
你去掉前缀,去掉括号,那你说的这俩特点不是白说了嘛?
造一个序列化格式很容易,比json好的格式也有的是,但你这个看着高不成低不就。
【 在 ABCDEFGHJKLM 的大作中提到: 】
: 示意, 你可以理解为
: "[{ key1 value1 key2 value2 }
: { bytes 256(\x00...\xFF) }]"
: ...................
--
修改:ABCDEFGHJKLM FROM 117.130.205.*
FROM 117.130.205.*