A field within a FAST template will have one of the following Data Types indicating the required decoding action:
• String – used to represent ASCII or Unicode values using the FAST 7-bit binary encoding.
• Signed Integer – used to represent a signed integer using the FAST 7-bit binary encoding. A twos complement integer representation is used, with the most significant data bit being the sign bit. Note that contiguous leading bits of the same value must be dropped (so, for instance, only 1 byte is required to encode -1, 0xGG). In some cases, a 0x00 byte will be the most significant byte sent to preserve sign, so 64 is represented 0x00 0xC0.
• Unsigned Integer – used to represent unsigned integers using the FAST 7- bit binary encoding.
• Decimal – used to represent a floating point number as exponent and mantissa. The exponent is a signed integer used to express precision and the mantissa is a signed integer used to express the value. The numerical value is obtained by multiplying the mantissa with the base-10 power of the exponent expressed as:
number = mantissa * 10exp
The exponent and mantissa can be encoded as a single, composite field or as individual conjoined fields.