MisterChangRay / magic-byte

a java tool for faster convertor byte2object
BSD 3-Clause "New" or "Revised" License
49 stars 20 forks source link

框架序列化的数据能否自动补齐 #60

Closed FULaBUla closed 2 months ago

FULaBUla commented 4 months ago

举个例子,如果正常生成的二进制数据长度为 3,我们进行 4 字节补齐,框架可以输出长度为 4 字节的数据? 然后这个补齐的长度可以自定义

MisterChangRay commented 4 months ago

定长数据才会补齐,也就是显示申明了长度的数据

FULaBUla commented 4 months ago

定长数据才会补齐,也就是显示申明了长度的数据

那我能否对一个类设置补齐呢?

FULaBUla commented 3 months ago

就是说我的补偿不按照定长补,而是按照比如 4 的倍数补这种?

MisterChangRay commented 3 months ago

不支持的

FULaBUla commented 2 months ago

不支持的

是因为不好计算吗?

MisterChangRay commented 2 months ago

因为设计就是每个类型是定长的,比如int4字节,所以不存在对齐。

对于动态类型,比如UNumber,String, 这类申明定长度的, 才会自动补齐。

FULaBUla commented 2 months ago

因为设计就是每个类型是定长的,比如int4字节,所以不存在对齐。

对于动态类型,比如UNumber,String, 这类申明定长度的, 才会自动补齐。

是的,我考虑的就是这种动态类型能否做到像 4 字节倍数那样补齐,而不是按照指定长度补齐?

MisterChangRay commented 2 months ago

不行的,如果要这么做,就需要序列化一些控制字段到数据中了,不然框架自己都不能解析自己的数据。

而控制字段的序列化设计可能每个框架设计都不相同,不具有通用性。