Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...


However, one can use UTF-8 in any text field. In order to keep FIX-protocol compatibility the counterparty must also expect UTF-8 encoding in the fields.

Info
In case if UTF-16 or Unicode is UTF-32 areused, the described approach leads to protocol violation because the 0x01 symbol in these encodings would be used inappropriately.

...

For FIX Antenna, it is user responsibility to convert ASCII the Unicode string with UTF-8 content to the UTF-8 string and vice-versa.
The list of encoded tags

...

Dictionary configuration example:

Code Block
languagexml
titleadditional.xml
        <fielddic>
            <!-- ... -->
			<fielddef tag="50354"  name="EncodedUserFieldLen" type="int"/>
			<fielddef tag="50355"  name="EncodedUserField" type="String"/>
            <!-- ... -->
        </fielddic> 


		<msgdic>
            <!-- ... -->
            <msgdef msgtype="B" name="NEWS">
               <!-- ... -->
               <field tag="50354"  name="EncodedUserFieldLen" condreq="existtags(T$50355)"/>
               <field tag="50355"  name="EncodedUserField" condreq="existtags(T$50354)"/>
            </msgdef>
            <!-- ... -->
        </msgdic>

Message example: encoding-testing-custom.txt

FIX Protocol and UTF-16/UTF-32 Encoding

In UTF-16 or Unicode UTF-32 encodings, 0x01 is a page code and can be contained in the field content it makes UTF-16 incompatible with FIX-Protocol.

There is no need to use UTF-16 or UTF-32 while it can be replaced with UTF-8