
Character Encoding Schemes
C12b When a process interprets a byte sequence which purports to be in a Unicode
character encoding scheme, it shall interpret that byte sequence according to the byte
order and specifications for the use of the byte order mark established by this standard
for that character encoding scheme.
The requirement is a verbose way of saying that byte order rules be observed. This
means that a program, when reading UTF-16 encoded data, must recognize the byte
order as defined in the specification of UTF-16, and apply it, instead of implying some
particular fixed byte order.
Byte order specifies whether the most significant byte (octet) or the least significant
byte comes first in a 2-byte quantity. If the most significant byte comes first (“big end
first”), the order is called “big-endian”; otherwise, it is “little-endian.” A conforming
program must be able to handle both, no matter which byte order is used in the “native”
data format of the system where the program runs.
Bidirectional Text
C13 A process that displays text containing supported right-to-left characters or embed-
ding codes shall display all visible representations of characters (excluding format char-
acters) in the same order as if the bidirectional algorithm had been applied to the text,
in the absence of higher-level protocols.
This requirement relates to the display of characters that belong to writing systems ...