UTF-16
E453728
UTF-16 is a variable-length character encoding for Unicode that represents most common characters in one 16-bit code unit and others, including supplementary characters, in pairs of 16-bit code units.
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
Unicode encoding form
ⓘ
character encoding ⓘ variable-length encoding ⓘ |
| backwardCompatibleWith | UCS-2 for BMP range ⓘ |
| byteOrderMarkCodeUnit | U+FEFF ⓘ |
| codeUnitType | 16-bit code unit ⓘ |
| comparedTo |
UTF-32
ⓘ
UTF-8 ⓘ |
| definedInStandard |
ISO/IEC 10646
NERFINISHED
ⓘ
Unicode Standard NERFINISHED ⓘ |
| designGoal |
efficient encoding for BMP characters
ⓘ
support for full Unicode range ⓘ |
| differsFrom | UCS-2 in handling of supplementary characters ⓘ |
| encodesBMPCharactersIn | 1 code unit ⓘ |
| encodesSupplementaryCharactersIn | 2 code units ⓘ |
| encodingOf | Unicode code points ⓘ |
| endiannessDependent | true ⓘ |
| hasVariant |
UTF-16 with BOM
ⓘ
UTF-16BE ⓘ UTF-16LE NERFINISHED ⓘ |
| introducedToReplace | UCS-2 NERFINISHED ⓘ |
| isSelfSynchronizing | false ⓘ |
| lessSpaceEfficientThan | UTF-8 for ASCII-heavy text ⓘ |
| maximumBytesPerCharacter | 4 bytes ⓘ |
| minimumBytesPerCharacter | 2 bytes ⓘ |
| moreSpaceEfficientThan | UTF-32 for BMP-heavy text ⓘ |
| notSuitableFor | byte-oriented protocols without defined endianness ⓘ |
| relatedConcept |
Unicode code unit
ⓘ
Unicode scalar value ⓘ surrogate pair ⓘ |
| requiresGraphemeClusteringForUserCharacters | true ⓘ |
| requiresSurrogateHandling | true ⓘ |
| standardizedBy |
International Organization for Standardization
NERFINISHED
ⓘ
Unicode Consortium NERFINISHED ⓘ |
| supportsCodePointRange | U+0000 to U+10FFFF ⓘ |
| surrogatePairSize | 2 code units ⓘ |
| typicalUse |
internal string representation in programming languages
ⓘ
operating system APIs ⓘ text processing APIs ⓘ |
| usedBy |
.NET Framework
NERFINISHED
ⓘ
Java (String internal representation in many versions) ⓘ JavaScript (UTF-16 code units for strings) NERFINISHED ⓘ Microsoft Windows NERFINISHED ⓘ |
| usesBasicMultilingualPlane | true ⓘ |
| usesByteOrderMark | optional ⓘ |
| usesCodeUnitSize | 16 bits ⓘ |
| usesHighSurrogatesRange | U+D800 to U+DBFF ⓘ |
| usesLowSurrogatesRange | U+DC00 to U+DFFF ⓘ |
| usesSurrogatePairs | true ⓘ |
Referenced by (2)
Full triples — surface form annotated when it differs from this entity's canonical label.