Another component of the encoding of a Data Set that shall be agreed upon by communicating Application Entities is the Byte Ordering.
Little Endian byte ordering is defined as follows:
Big Endian byte ordering is defined as follows:
Byte ordering is a component of an agreed upon Transfer Syntax (see Section 10 in PS 3.5 of the DICOM Standard). The default DICOM Transfer Syntax, which shall be supported by all AEs, uses Little Endian encoding and is specified in Annex A.1 in PS 3.5 of the DICOM Standard. Alternate Transfer Syntaxes, some of which use Big Endian encoding, are also specified in Annex A in PS 3.5 of the DICOM Standard.
Note: The Command Set structure as specified in PS 3.7 of the DICOM Standard is encoded using the Little Endian Implicit VR Transfer Syntax.
In the default case of Little Endian encoding, Big Endian Machines interpreting Data Sets shall do 'byte swapping' before interpreting or operating on certain Data Elements. The Data Elements affected are all those having VRs that are multiple byte Values and that are not a character string of 8-bit single byte codes. VRs constructed of a string of characters of 8-bit single byte codes are really constructed of a string of individual bytes, and are therefore not affected by byte ordering. The VRs that are not a string of characters and consist of multiple bytes are:
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries