data
base: dataFIX 4.4FIX 4.2length-prefixed
data is a FIX datatype defined in FIX 4.4 and FIX 4.2, carried on the wire as data. 16 fields use it.
Wire format
- Base type
- data
- Fields
- 16
Raw bytes, length-prefixed by a partner field. The value may legally contain the SOH separator, which is why the length matters.
What the specification says
Raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH). Caution: the value of one of these fields may contain the delimiter (SOH) character. Note that the value specified for this field should be followed by the delimiter (SOH) character as all fields are terminated with an "SOH".
Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.
How @boarteam/fix handles it
@boarteam/fix reads the partner length field first and takes exactly that many bytes, so an embedded separator does not truncate the value.
Fields with this datatype
| Tag | Field | Dialects | Messages |
|---|---|---|---|
| 89 | Signature | FIX 4.4, FIX 4.2 | 93 |
| 91 | SecureData | FIX 4.4, FIX 4.2 | 93 |
| 96 | RawData | FIX 4.4, FIX 4.2 | 4 |
| 213 | XmlData | FIX 4.4, FIX 4.2 | 93 |
| 349 | EncodedIssuer | FIX 4.4, FIX 4.2 | 59 |
| 351 | EncodedSecurityDesc | FIX 4.4, FIX 4.2 | 59 |
| 353 | EncodedListExecInst | FIX 4.4, FIX 4.2 | 1 |
| 355 | EncodedText | FIX 4.4, FIX 4.2 | 71 |
| 357 | EncodedSubject | FIX 4.4, FIX 4.2 | 1 |
| 359 | EncodedHeadline | FIX 4.4, FIX 4.2 | 1 |
| 361 | EncodedAllocText | FIX 4.4, FIX 4.2 | 4 |
| 363 | EncodedUnderlyingIssuer | FIX 4.4, FIX 4.2 | 59 |
| 365 | EncodedUnderlyingSecurityDesc | FIX 4.4, FIX 4.2 | 59 |
| 446 | EncodedListStatusText | FIX 4.4, FIX 4.2 | 1 |
| 619 | EncodedLegIssuer | FIX 4.4 | 50 |
| 622 | EncodedLegSecurityDesc | FIX 4.4 | 50 |
Decode this in your own code
The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.
npm i @boarteam/fix @boarteam/fix-dict-fix44