The terms null, empty and zero-length are used to describe array values (Stringsare arrays of characters and ByteStringsare arrays of Bytesfor purposes of this discussion). A null array has no value. A zero-length or empty array is an array with 0 elements. Some DataEncodingswill allow the distinction to be preserved on the wire, however, not all DevelopmentPlatformswill be able to preserve the distinction. For this reason, null, empty and zero length arrays are semantically the same for all DataEncodings. Decoders shall be able to handle all variations supported by the DataEncoding, however, decoders are not required to preserve the distinction. When testing for equality, applications shall treat null and empty arrays as equal. When a DevelopmentPlatformsupports the distinction, writing and reading back an array value may result in null array becoming an empty array or vise versa.