One dimensionalArraysare encoded as a sequence of elements preceded by the number of elements encoded as an Int32value. If an Arrayis null, then its length is encoded as −1. An Arrayof zero length is different from an Arraythat is null so encoders and decoders shall preserve this distinction.

Multi-dimensional Arraysare encoded as an Int32 Arraycontaining the dimensions followed by a list of all the values in the Array. The total number of values is equal to the product of the dimensions. The number of values is 0 if one or more dimension is less than or equal to 0. The process for reconstructing the multi-dimensional array is described in 5.2.2.16.