Jer*_*dge 2 delphi string list packet
我在一段时间后想出了一种技术,我一直在多个项目中使用它.它使用单个字符串来存储值列表.每个值都以值的大小为前缀,然后是分隔符(大小之后),然后是数据 - 并重复.使用此技术意味着您可以在字面上存储任何类型的字符,而不会尝试在值之间排除使用分隔符.
这是一个这样的字符串示例:
23|This is the first value13|Another value5|third
这转换为这些值的列表:
我通过测试得知这个方法(以及我在这个字符串和数组或字符串列表之间进行转换的函数)非常快,同时保持最小的内存.它对于发送数据包也非常有用(这是我第一次提出这种方法的地方).
这有技术名称吗?在这种情况下,解析过于宽泛,必须有一个更具体的术语.
对于标准/已建立的序列化类型,我最熟悉的是类型 - 长度 - 值(TLV)编码,它与您的方案的不同之处在于它支持使用非固定类型,而您的类型需要类型预先知道每个字段的内容(实际上,您似乎只在所有字段中使用字符串).