Fixed message separator

I am relatively new to the FIX protocol.

The separator for a FIX protocol message sometimes displays ^ and other times |. Wikipedia for the FIX protocol reports [SOH] (< Header Start > for hex 0x01).

Please explain the meaning of this.

For example, a FIX-Protocol message can be visually represented as

 8=FIX.4.4^9=122^35=D^34=215^49=CLIENT12^52=20100225-19:41:57.316^56=B^1=Marcel^11=13346^21=1^40=2^44=5^54=1^59=0^60=20100225-19:39:52.020^10=072^ 

or

 8=FIX.4.4|9=122|35=D|34=215|49=CLIENT12|52=20100225-19:41:57.316|56=B|1=Marcel|11=13346|21=1|40=2|44=5|54=1|59=0|60=20100225-19:39:52.020|10=072| 

So what is the difference in using a ^ over |

Are other separators used? It is unclear why [SOH] (0x01) is suitable for ^ or |

It could be an ONE number.

+4
source share
2 answers

Separator SOH = ASCII 01 code is a non-printable character. If you look at the binary representation of the message (for example, in a representation with a hex editor), you will see a character as 0x01. To display messages, it seems that some people use | and others use ^ , which are rarely used by characters and therefore a good delimiter.

+11
source

FIX messages always have 0x01 between the fields in the message, whether it is in Explorer, in OMS / EMS, or in a log file. Only when a message should be displayed that the substitution is done (OK, some people can make their log files clean and thus decrypt the character). It is never possible for a valid FIX message to have channels or carriages that separate fields. In addition, a FIX message will never take place except between fields. (This is a character that should not be displayed in printed text - FIX messages must be readable), and it will not conflict with what ends the C line, so the whole message can be considered as a string if you are so inclined.)

+1
source

All Articles