FIX message delimiter

Ashley picture Ashley · Aug 13, 2014 · Viewed 17.2k times · Source

I am relatively new to FIX-Protocol.

The delimiter for a FIX-Protocol message sometimes show ^ and other times |. Wikipedia for FIX-Protocol says [SOH] ( <Start of Header> for hex 0x01 ) being the character.

Please explain the meaning of the same.

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 exactly is the difference in using a ^ over |

Are there other delimiters used as well. Its not clear why [SOH] (0x01) fits for ^ or |

It could have been numberical ONE.

Answer

MP24 picture MP24 · Aug 13, 2014

The delimiter SOH = ASCII code 01 is a non-printable character. Looking at the binary representation of the message (e.g. in a hex editor view), you'll see the character as 0x01. To display the messages, it seems that some people use | and other use ^ which are rarely used characters and thus a good delimiter.