Errata exists for this version of the document.
A DataValue is always preceded by a mask that indicates which fields are present in the stream.
The fields of a DataValue are described in Table 16.
Table 16 – Data Value Binary DataEncoding
| 
 Name  | 
        
 Data Type  | 
        
 Description  | 
||||||||||||
| 
 Encoding Mask  | 
        
 Byte  | 
        
 A bit mask that indicates which fields are present in the stream. The mask has the following bits: 
 
  | 
||||||||||||
| 
 Value  | 
        
 Variant  | 
        
 The value. Not present if the Value bit in the EncodingMask is False.  | 
||||||||||||
| 
 Status  | 
        
 StatusCode  | 
        
 The status associated with the value. Not present if the StatusCode bit in the EncodingMask is False.  | 
||||||||||||
| 
 SourceTimestamp  | 
        
 DateTime  | 
        
 The source timestamp associated with the value. Not present if the SourceTimestamp bit in the EncodingMask is False.  | 
||||||||||||
| 
 SourcePicoSeconds  | 
        
 UInt16  | 
        
 The number of 10 picosecond intervals for the SourceTimestamp. Not present if the SourcePicoSeconds bit in the EncodingMask is False. If the source timestamp is missing the picoseconds are ignored.  | 
||||||||||||
| 
 ServerTimestamp  | 
        
 DateTime  | 
        
 The Server timestamp associated with the value. Not present if the ServerTimestamp bit in the EncodingMask is False.  | 
||||||||||||
| 
 ServerPicoSeconds  | 
        
 UInt16  | 
        
 The number of 10 picosecond intervals for the ServerTimestamp. Not present if the ServerPicoSeconds bit in the EncodingMask is False. If the Server timestamp is missing the picoseconds are ignored.  | 
The Picoseconds fields store the difference between a high-resolution timestamp with a resolution of 10 picoseconds and the Timestamp field value which only has a 100 ns resolution. The Picoseconds fields shall contain values less than 10 000. The decoder shall treat values greater than or equal to 10 000 as the value ‘9999’.