WISSENSARTIKEL / COMPUTER & HARDWARE

UTF-16: Definition, Funktionsweise und Anwendung

Ein Unicode-Zeichenkodierungssystem für moderne Textverarbeitung

◎ KURZDEFINITION

Utf 16 UTF-16 ist eine Unicode-Zeichenkodierung, die Zeichen als 16-Bit-Einheiten darstellt und bei Bedarf durch Paare von 16-Bit-Werten (Surrogatpaare) erweitert wird, um alle Unicode-Zeichen abzubilden.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • UTF-16 kodiert Unicode-Zeichen primär mit 16-Bit-Einheiten.
  • Surrogatpaare ermöglichen die Darstellung von Zeichen außerhalb der Basis-Multilingual-Plane.
  • UTF-16 wird in vielen Betriebssystemen wie Windows und Programmiersprachen wie Java verwendet.
  • Die Kodierung ist weder vollständig byte-orientiert noch vollständig 16-Bit-orientiert, was zu Komplexitäten bei der Verarbeitung führen kann.
  • UTF-16 ist weniger speichereffizient für westliche Sprachen als UTF-8, aber effizienter für viele asiatische Schriftsysteme.
  • Die Byte-Reihenfolge (Endianess) ist bei UTF-16 wichtig und wird durch ein Byte Order Mark (BOM) signalisiert.
01

Überblick: Utf 16

UTF-16 (Unicode Transformation Format 16-bit) ist ein standardisiertes Verfahren zur Codierung von Unicode-Zeichen, das in vielen modernen Softwaresystemen und Plattformen eingesetzt wird. Es verwendet 16-Bit-Einheiten zur Darstellung von Zeichen, wobei einfache Zeichen mit einem 16-Bit-Wert codiert werden und komplexere Zeichen durch sogenannte Surrogatpaare aus zwei 16-Bit-Werten dargestellt werden. UTF-16 ist eine der wichtigsten Kodierungen neben UTF-8 und UTF-32 und bietet einen Kompromiss zwischen Speicherbedarf und Komplexität.

02

Grundlagen von UTF-16

UTF-16 ist eine Kodierungsmethode zur Darstellung von Unicode-Zeichen. Unicode definiert einen universellen Zeichensatz für nahezu alle Schriftsysteme der Welt. UTF-16 verwendet 16-Bit-Einheiten (2 Bytes) zur Codierung von Zeichen. Für Zeichen, die nicht in der Basis-Multilingual-Plane (BMP) liegen, werden Surrogatpaare eingesetzt, die aus zwei 16-Bit-Werten bestehen.

03

Was sind Surrogatpaare?

Surrogatpaare sind Kombinationen aus zwei 16-Bit-Codeeinheiten, die zusammen ein einzelnes Unicode-Zeichen außerhalb der BMP (Zeichen über U+FFFF) darstellen. Der erste Teil wird als High Surrogate bezeichnet, der zweite als Low Surrogate. Diese Technik ermöglicht die Kodierung von insgesamt 1.112.064 Unicode-Zeichen.

04

Vergleich der Unicode-Kodierungen UTF-8, UTF-16 und UTF-32

EigenschaftUTF-8UTF-16UTF-32
Kodierungseinheit8 Bit (1 Byte)16 Bit (2 Bytes)32 Bit (4 Bytes)
Variable LängeJa (1 bis 4 Bytes)Ja (2 oder 4 Bytes)Nein (immer 4 Bytes)
Speichereffizienz für westliche SprachenHochMittelNiedrig
Unterstützung für alle Unicode-ZeichenJaJaJa
Byte Order Mark (BOM)OptionalErforderlich für EndianessOptional
05

Byte-Reihenfolge und Byte Order Mark (BOM)

Da UTF-16 mit 16-Bit-Einheiten arbeitet, ist die Reihenfolge der Bytes (Endianess) relevant. Es gibt zwei Varianten: Big Endian (höherwertiges Byte zuerst) und Little Endian (niederwertiges Byte zuerst). Um die Byte-Reihenfolge zu kennzeichnen, wird häufig ein Byte Order Mark (BOM) am Anfang eines Textes eingefügt. Das BOM ist ein spezielles Zeichen (U+FEFF), das den Lesern signalisiert, wie die Bytes interpretiert werden müssen.

06

Anwendungsbereiche von UTF-16

UTF-16 wird in vielen Betriebssystemen und Programmiersprachen verwendet. Windows nutzt UTF-16 intern für die Darstellung von Text. Auch Programmiersprachen wie Java und Frameworks wie .NET setzen UTF-16 als Standard für Strings ein. Zudem findet UTF-16 Anwendung in XML- und JSON-Dokumenten, wenn diese Unicode-Zeichen enthalten.

07

Vor- und Nachteile von UTF-16

VorteileNachteile
Effizient für viele asiatische SchriftsystemeKomplexere Verarbeitung durch Surrogatpaare
Weit verbreitet in Betriebssystemen und ProgrammiersprachenSpeicherintensiver als UTF-8 für westliche Sprachen
Unterstützt alle Unicode-ZeichenByte-Reihenfolge muss beachtet werden
08

Verarbeitung und Programmierung mit UTF-16

Die Verarbeitung von UTF-16-kodierten Texten erfordert Kenntnisse über Surrogatpaare und Byte-Reihenfolge. Programmiersprachen bieten meist eingebaute Funktionen zur Handhabung von UTF-16-Strings. Entwickler müssen jedoch auf korrekte Interpretation der Zeichen achten, insbesondere bei Manipulationen, die einzelne Codeeinheiten betreffen.

09

Unterschiede zu anderen Unicode-Kodierungen

Im Vergleich zu UTF-8, das byte-orientiert ist und variable Länge von 1 bis 4 Bytes hat, ist UTF-16 auf 2- oder 4-Byte-Einheiten ausgelegt. UTF-32 verwendet immer 4 Bytes pro Zeichen und ist daher am einfachsten zu verarbeiten, aber am speicherintensivsten. Die Wahl der Kodierung hängt vom Anwendungsfall und der Zielplattform ab.

◇

Zusatzinformationen

◇

Begriff: UTF-16

Typ: Unicode Transformation Format

Kodierungseinheit: 16 Bit (2 Bytes)

Surrogatpaare: Ja, zur Erweiterung des Zeichensatzes

Unicode-Bereich: U+0000 bis U+10FFFF

Byte Order Mark (BOM): Ja, zur Kennzeichnung der Byte-Reihenfolge

Verwendung: Windows, Java, .NET, XML, JSON

Vorteile: Effizient für viele asiatische Zeichen, breite Unterstützung

Nachteile: Komplexere Verarbeitung, Speicherintensiver als UTF-8 für westliche Sprachen

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Utf 16

Was bedeutet UTF-16?

UTF-16 steht für Unicode Transformation Format 16-bit und ist eine Methode zur Codierung von Unicode-Zeichen mit 16-Bit-Einheiten.

Warum werden Surrogatpaare in UTF-16 verwendet?

Surrogatpaare ermöglichen die Darstellung von Unicode-Zeichen außerhalb der Basis-Multilingual-Plane, also Zeichen mit Codepunkten über U+FFFF, indem zwei 16-Bit-Werte kombiniert werden.

Wie unterscheidet sich UTF-16 von UTF-8?

UTF-8 ist eine byte-orientierte Kodierung mit variabler Länge von 1 bis 4 Bytes pro Zeichen, während UTF-16 primär 16-Bit-Einheiten verwendet und bei Bedarf Surrogatpaare einsetzt.

Wo wird UTF-16 hauptsächlich eingesetzt?

UTF-16 wird vor allem in Betriebssystemen wie Windows, Programmiersprachen wie Java und Frameworks wie .NET verwendet sowie in XML- und JSON-Dokumenten.

Was ist ein Byte Order Mark (BOM) bei UTF-16?

Das BOM ist ein spezielles Zeichen am Anfang eines UTF-16-kodierten Textes, das die Byte-Reihenfolge (Endianess) angibt, also ob die Bytes in Big Endian oder Little Endian Reihenfolge vorliegen.

Ist UTF-16 speichereffizient?

UTF-16 ist für viele asiatische Schriftsysteme speichereffizienter als UTF-8, für westliche Sprachen jedoch oft speicherintensiver.

Kann UTF-16 alle Unicode-Zeichen darstellen?

Ja, durch die Kombination von 16-Bit-Einheiten und Surrogatpaaren kann UTF-16 alle Unicode-Zeichen bis zum Codepunkt U+10FFFF darstellen.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    The Unicode Standard, Version 15.0 ↗
    Unicode Consortium· Unicode Consortium· Offizielle SpezifikationKI-Vorschlag · ungeprüft

    Definiert die Unicode-Kodierungen einschließlich UTF-16.

    https://www.unicode.org/versions/Unicode15.0.0/
  2. 02
    Unicode Encoding Forms ↗
    Unicode Consortium· Unicode Consortium· FAQKI-Vorschlag · ungeprüft

    Erklärt die Byte Order Mark und Endianess bei UTF-16.

    https://www.unicode.org/faq/utf_bom.html
  3. 03
    Unicode und UTF-16 Grundlagen ↗
    Wikipedia· Gemeinschaft· EnzyklopädieKI-Vorschlag · ungeprüft

    Bietet eine Übersicht über UTF-16 und seine Eigenschaften.

    https://de.wikipedia.org/wiki/UTF-16

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.