base-char is defined as the upgraded array element type
An implementation can support additional subtypes of type
(besides the ones listed in this standard)
that might or might not be supertypes of type
In addition, an implementation can define
to be the same type as
Base characters are distinguished in the following respects:
standard-charis a subrepertoire of the type
base-charcan be elements of a base string.
base-charrepertoire; the size of that repertoire is implementation-defined. The lower bound is 96, the number of standard characters.
Whether a character is a base character depends on the way
that an implementation represents strings,
and not any other properties of the implementation or the host operating system.
For example, one implementation might encode all strings
as characters having 16-bit encodings, and another might have
two kinds of strings: those with characters having 8-bit
encodings and those with characters having 16-bit encodings. In the
first implementation, the type
base-char is equivalent to
character: there is only one kind of string.
In the second implementation, the base characters might be
those characters that could be stored in a string of characters
having 8-bit encodings. In such an implementation,
base-char is a proper subtype of the type
standard-char is a
subtype of type