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

TagFieldDialectsMessages
89SignatureFIX 4.4, FIX 4.293
91SecureDataFIX 4.4, FIX 4.293
96RawDataFIX 4.4, FIX 4.24
213XmlDataFIX 4.4, FIX 4.293
349EncodedIssuerFIX 4.4, FIX 4.259
351EncodedSecurityDescFIX 4.4, FIX 4.259
353EncodedListExecInstFIX 4.4, FIX 4.21
355EncodedTextFIX 4.4, FIX 4.271
357EncodedSubjectFIX 4.4, FIX 4.21
359EncodedHeadlineFIX 4.4, FIX 4.21
361EncodedAllocTextFIX 4.4, FIX 4.24
363EncodedUnderlyingIssuerFIX 4.4, FIX 4.259
365EncodedUnderlyingSecurityDescFIX 4.4, FIX 4.259
446EncodedListStatusTextFIX 4.4, FIX 4.21
619EncodedLegIssuerFIX 4.450
622EncodedLegSecurityDescFIX 4.450

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