# 定长报文
## **概述**
定长报文就是解析固定长度的报文。我们可以在报文字段中指定需要解析的字段长度与偏移量。例如报文信息:
```
<pre class="calibre29">```
<span class="token2">20009</span>loopname1loopname2loopname1loopname2color
```
```
解析报文字段长度为4,偏移量为0,解析出来的交易码信息是:2000;如果偏移量为1,解析出来的交易码信息是:0009
## **配置**
![](https://img.kancloud.cn/47/a3/47a3bb7f08a9ef148f41c6bd5602015f_1469x554.png)
1. 定长报文的字符集编码通常为GBK编码,定长报文的解包或组包都是按照字段配置的顺序进行处理。解包字段时可以指定偏移量(偏移量为绝对位置),当不指定偏移量时自动顺序截取,当长度指定为0时,解包字段结果为配置的“缺省值”。定长报文组包时,当字段不存在或字段值为空时,报文字段组包使用“缺省值”进行组包。
2. 报文组包和解包当中的字段配置需注意“字段名称”和层次结构需要和上下文保持一致;在解包和组包配置当中,层次结构是通过“报文域”来进行控制。即报文域对应为MAP中的MAP键值项、循环对应为MAP中的LIST键值项。
3. 解包报文循环的“循环记录数”可指定一个固定值或由前面解包的报文字段值确定(配置为“${字段名称}”);组包时报文循环的循环次数由上下文中对应的LIST的数据条数确定。XML或JSON报文中解包报文循环的循环次数由指定XPATH/PATH的重现次数决定。
4. 报文分组中的“分支条件”也可配置为“${字段名称}”,报文分组子节点的“分支条件”即为当“分组条件”的值为“分组条件”指定的值时的处理方式(该节点下可创建报文和字段)