Universal Character Set - Encoding Forms of The Universal Character Set

Encoding Forms of The Universal Character Set

ISO 10646 defines several character encoding forms for the Universal Character Set. The simplest, UCS-2, uses a single code value (defined as one or more numbers representing a code point) between 0 and 65,535 for each character, and allows exactly two bytes (one 16-bit word) to represent that value. UCS-2 thereby permits a binary representation of every code point in the BMP, as long as the code point represents a character. UCS-2 cannot represent code points outside the BMP. Occasionally, articles about Unicode will mistakenly refer to UCS-2 as "UCS-16". UCS-16 does not exist; the authors who make this error usually intend to refer to UCS-2 or to UTF-16.

The first amendment to the original edition of the UCS defined UTF-16, an extension of UCS-2, to represent code points outside the BMP. A range of code points in the S (Special) Zone of the BMP remains unassigned to characters. UCS-2 disallows use of code values for these code points, but UTF-16 allows their use in pairs. Unicode also adopted UTF-16, but in Unicode terminology, the high-half zone elements become "high surrogates" and the low-half zone elements become "low surrogates".

Another encoding, UCS-4, uses a single code value between 0 and (theoretically) hexadecimal 7FFFFFFF for each character (although the UCS stops at 10FFFF and ISO/IEC 10646 has stated that all future assignments of characters will also take place in that range). UCS-4 allows representation of each value as exactly four bytes (one 32-bit word). UCS-4 thereby permits a binary representation of every code point in the UCS, including those outside the BMP. As in UCS-2, every encoded character has a fixed length in bytes, which makes it simple to manipulate, but of course it requires twice as much storage as UCS-2.

Currently, the dominant UCS encoding is UTF-8, which is a variable-width encoding designed for backward compatibility with ASCII, and for avoiding the complications of endianness and byte-order marks in UTF-16 and UTF-32. More than half of all Web pages are encoded in UTF-8. The Internet Engineering Task Force (IETF) requires all Internet protocols to identify the encoding used for character data, and the supported character encodings must include UTF-8. The Internet Mail Consortium (IMC) recommends that all e-mail programs be able to display and create mail using UTF-8. It is also increasingly being used as the default character encoding in operating systems, programming languages, APIs, and software applications.

See also Comparison of Unicode encodings.

Read more about this topic:  Universal Character Set

Famous quotes containing the words forms, universal, character and/or set:

    A painter told me that nobody could draw a tree without in some sort becoming a tree; or draw a child by studying the outlines of its forms merely,—but by watching for a time his motions and plays, the painter enters into his nature and can then draw him at will in every attitude.
    Ralph Waldo Emerson (1803–1882)

    Poets ... are the only people to whom love is not only a crucial, but an indispensable experience, which entitles them to mistake it for a universal one.
    Hannah Arendt (1906–1975)

    For character too is a process and an unfolding ... among our valued friends is there not someone or other who is a little too self confident and disdainful; whose distinguished mind is a little spotted with commonness; who is a little pinched here and protruberent there with native prejudices; or whose better energies are liable to lapse down the wrong channel under the influence of transient solicitations?
    George Eliot [Mary Ann (or Marian)

    One reason writers write is out of revenge. Life hurts; certain ideas and experiences hurt; one wants to clarify, to set out illuminations, to replay the old bad scenes and get the Treppenworte said—the words one didn’t have the strength or ripeness to say when those words were necessary for one’s dignity or survival.
    Cynthia Ozick (b. 1928)