我们如何为变量字符串定义类型树,其中前两个字节表示长度,然后是实际字符串,后面跟着长度的字符?
02ab,这里ab是字符串。
03abcghj。这里 abc 是字符串,其余部分是别的
您可以创建一个包含两个字段、一个大小和一个字符串的组。然后右键单击大小字段并选择该Sized
字段的属性。该属性表示第一个字段包含下一个字段的长度。
从手册:
大小属性
sized 属性用于其值指定紧随其后的组件的大小(以字节为单位)的组件。sized 属性可用于组的多个组件。
尺寸
例如,您可能有一个可变长度组件,其前面有一个数字,表示组件的长度:
10Washington
10 表示以下组件的大小。
关于使用 sized 属性的一些要点是:
具有 sized 属性的组件必须定义为无符号整数。
如果二进制字节流项没有固定大小,则其前面的组件必须指定其大小,并且必须在该组件上使用 sized 属性。
组件的大小是从该组件的开头到该组件的结尾(包括该组件的结尾)的字节数。如果组件具有系列范围 [例如 (1:3)],则大小包括该组件系列中的所有成员。如果分隔符分隔该系列的每个成员,则分隔符必须包含在大小中。此外,如果组件中出现释放字符,则它们必须包含在大小中。
该大小不包括将一种组件类型与下一种组件类型分开的分隔符。