# 定長報文
## **概述**
定長報文就是解析固定長度的報文。我們可以在報文字段中指定需要解析的字段長度與偏移量。例如報文信息:
```
<pre class="calibre29">```
<span class="token2">20009</span>loopname1loopname2loopname1loopname2color
```
```
解析報文字段長度為4,偏移量為0,解析出來的交易碼信息是:2000;如果偏移量為1,解析出來的交易碼信息是:0009
## **配置**

1. 定長報文的字符集編碼通常為GBK編碼,定長報文的解包或組包都是按照字段配置的順序進行處理。解包字段時可以指定偏移量(偏移量為絕對位置),當不指定偏移量時自動順序截取,當長度指定為0時,解包字段結果為配置的“缺省值”。定長報文組包時,當字段不存在或字段值為空時,報文字段組包使用“缺省值”進行組包。
2. 報文組包和解包當中的字段配置需注意“字段名稱”和層次結構需要和上下文保持一致;在解包和組包配置當中,層次結構是通過“報文域”來進行控制。即報文域對應為MAP中的MAP鍵值項、循環對應為MAP中的LIST鍵值項。
3. 解包報文循環的“循環記錄數”可指定一個固定值或由前面解包的報文字段值確定(配置為“${字段名稱}”);組包時報文循環的循環次數由上下文中對應的LIST的數據條數確定。XML或JSON報文中解包報文循環的循環次數由指定XPATH/PATH的重現次數決定。
4. 報文分組中的“分支條件”也可配置為“${字段名稱}”,報文分組子節點的“分支條件”即為當“分組條件”的值為“分組條件”指定的值時的處理方式(該節點下可創建報文和字段)