You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: v2-0-RC2/doc/02FieldEncoding.md
+47-30Lines changed: 47 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,10 +98,10 @@ See Common field schema attributes below.
98
98
| PriceOffset | Decimal encoding |[Decimal encoding](#decimal-encoding)| A decimal number representing a price offset, which can be mathematically added to a Price. |
99
99
| Amt | Decimal encoding |[Decimal encoding](#decimal-encoding)| A field typically representing a Price times a Qty. |
100
100
| Percentage | Decimal encoding |[Decimal encoding](#decimal-encoding)| A field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). |
101
-
| char | Character |[Character encoding](#character)| Single US-ASCII character value. Can include any alphanumeric character or punctuation. All char fields are case sensitive (i.e. m != M). |
102
-
| String | Fixed-length character array |[Fixed-length character](#fixed-length-character-array)| A fixed-length character array of ASCII encoding |
103
-
| String | Variable-length data encoding |[Variable-length string](#variable-length-string-encoding)| Alpha-numeric free format strings can include any character or punctuation. All String fields are case sensitive (i.e. morstatt != Morstatt). ASCII encoding. |
104
-
| String—EncodedText | String encoding |[Variable-length string](#variable-length-string-encoding)|Non-ASCII string. The character encoding may be specified by a schema attribute. |
101
+
| char | Character |[Character encoding](#character)| Single-byte character value. Can include any alphanumeric character or punctuation. All char fields are case sensitive (i.e. m != M). |
102
+
| String | Fixed-length character array |[Fixed-length character](#fixed-length-character-array)| A fixed-length character array of single-byte encoding |
103
+
| String | Variable-length data encoding |[Variable-length string](#variable-length-string-encoding)| Alpha-numeric free format strings can include any character or punctuation. All String fields are case sensitive (i.e. morstatt != Morstatt). |
104
+
| String—EncodedText | String encoding |[Variable-length string](#variable-length-string-encoding)|A string. The character encoding may be specified by a schema attribute. |
105
105
| XMLData | String encoding |[Variable-length string](#variable-length-string-encoding)| Variable-length XML. Must be paired with a Length field. |
106
106
| data | Fixed-length data |[Fixed-length data](#fixed-length-data)| Fixed-length non-character data |
107
107
| data | Variable-length data encoding |[Variable-length data](#variable-length-data-encoding)| Variable-length data. Must be paired with a Length field. |
@@ -487,30 +487,36 @@ Character data may either be of fixed size or variable size. In Simple
487
487
Binary Encoding, fixed-length fields are recommended in order to support
488
488
direct access to data. Variable-length encoding should be reserved for
489
489
character strings that cannot be constrained to a specific size. It may
490
-
also be used for non-ASCII encoded strings.
490
+
also be used for multi-byte encodings.
491
491
492
492
### Character
493
493
494
-
Character fields hold a single character. They are most commonly used
495
-
for field with character code enumerations. See [Enumeration encoding](#enumeration-encoding) below for
494
+
Character fields hold a single character of a single-byte character set. They are most commonly used
495
+
for fields with character code enumerations. See [Enumeration encoding](#enumeration-encoding) below for
496
496
discussion of enum fields.
497
497
498
-
| FIX data type | Description | Backing primitive | Length (octet) |
Wire format of char encoding of "A" (ASCII value 65, hexadecimal 41)
539
+
Wire format of char encoding of "A" (value 65, hexadecimal 41)
528
540
529
541
`41`
530
542
531
-
532
-
533
543
### Fixed-length character array
534
544
535
545
Character arrays are allocated a fixed space in a message, supporting
@@ -551,9 +561,10 @@ primitiveType="char" and a length attribute is required.
551
561
Range attributes minValue and maxValue do not apply to fixed-length
552
562
character arrays.
553
563
554
-
US-ASCII is the default encoding of character arrays to conform to usual
555
-
FIX values. The characterEncoding attribute may be specified to override
556
-
encoding.
564
+
Character arrays are constrained to single-byte characters sets with the same character ranges as a single-character field. The recommended encoding is ISO/IEC 8859-1:1998 Latin alphabet No. 1.
565
+
566
+
Other 8-bit encodings may be specified in a message schema with the characterEncoding attribute. The value of characterEncoding should be a preferred
567
+
character set name registered with IANA.
557
568
558
569
#### Examples of fixed-length character arrays
559
570
@@ -565,6 +576,12 @@ A typical string encoding specification
If the Length element has minValue and maxValue attributes, it specifies
612
629
the minimum and maximum *length* of the variable-length data.
@@ -1080,7 +1097,7 @@ allow more choices.
1080
1097
### Value encoding
1081
1098
1082
1099
If a field is of FIX data type char, then its valid values are
1083
-
restricted to US-ASCII printable characters. See [Character encoding](#character) above.
1100
+
restricted to single-byte printable characters. See [Character encoding](#character) above.
1084
1101
1085
1102
If the field is of FIX data type int, then a primitive integer data type
1086
1103
should be selected that can contain the number of choices. For most
@@ -1309,7 +1326,7 @@ session protocol.
1309
1326
| Field value less than minValue | The encoded value falls below the specified valid range. |
1310
1327
| Field value greater than maxValue | The encoded value exceeds the specified valid range. |
1311
1328
| Null value set for required field | The null value of a data type is invalid for a required field. |
1312
-
| String contains invalid characters | A String contains non-US-ASCII printable characters or other invalid sequence if a different characterEncoding is specified. |
1329
+
| String contains invalid characters | A character or character array contains controls characters or a string contains an invalid sequence if a different characterEncoding is specified. |
1313
1330
| Required members not populated in MonthYear | Year and month must be populated with non-null values, and the month must be in the range 1-12. |
1314
1331
| UTCTimeOnly exceeds day range | The value must not exceed the number of time units in a day, e.g. greater than 86400 seconds. |
1315
1332
| TZTimestamp and TZTimeOnly has missing or invalid time zone | The time zone hour and minute offset members must correspond to an actual time zone recognized by international standards. |
0 commit comments