UCS-2

Die 16-Bit-SMS-Kodierung für die meisten Emojis und nichtlateinischen Schriften: 70 Zeichen pro Segment, 67 bei verketteten Nachrichten.

Nur Definitionen – ein hier erklärter Begriff ist keine Leistung, die wir verkaufen.

UCS-2 kodiert nahezu jede Schrift mit 16 Bit pro Zeichen, wodurch ein SMS-Segment auf 70 Zeichen schrumpft. Ein einziges Zeichen außerhalb des GSM-7-Alphabets (die meisten Emojis und die meisten nichtlateinischen Schriften) stellt die gesamte Nachricht auf UCS-2 um.

Die Kodierung wird pro Nachricht gewählt, daher ändert ein Zeichen außerhalb von GSM-7 den gesamten Text.

Kodierung, Einheiten und Segmente

Kodierung
UCS-2
Zeichen
22
Einheiten
23
Segmente
1
Kodierung, Zeichenzahl, Größe in Code-Einheiten und Segmentzahl einer Beispielnachricht.
Textbeschreibung

Die Abbildung zeigt die für eine Beispielnachricht gewählte Kodierung, ihre Zeichenzahl, ihre Größe in Kodierungseinheiten und die Zahl der Segmente, die diese Größe erfordert. Bei UCS-2 sind die Einheiten 16-Bit-Code-Einheiten.

Wie die Kodierung gewählt wird

Eine SMS beginnt in GSM-7. Ein Zeichen außerhalb dieses Alphabets stellt die Nachricht auf UCS-2 um oder auf eine andere Kodierung, die das Netz unterstützt. Die Umstellung gilt für die gesamte Nachricht, sodass auch Zeichen, die in GSM-7 passen, zwei Byte belegen.

Ein Segment fasst 70 Zeichen, denn 140 Byte geteilt durch zwei Byte pro Zeichen ergibt 70. Ein Emoji aus einer Zusatzebene braucht zwei UTF-16-Code-Einheiten, und Endgeräte und Zentralen senden in der Praxis UTF-16, sodass emojireicher Text weniger Zeichen fasst; striktes UCS-2 kann solche Zeichen überhaupt nicht kodieren. Der SMS-Segmentzähler zeigt die Anzahl.

FAQ

Ist UCS-2 dasselbe wie UTF-16?

Ähnlich, aber nicht identisch. UCS-2 verwendet eine feste 16-Bit-Einheit; UTF-16 verwendet außerhalb der Basisebene Surrogatpaare, und Endgeräte und Zentralen senden in der Praxis UTF-16.

Wie viele Zeichen passen in ein UCS-2-Segment?

Siebzig ohne User Data Header, siebenundsechzig mit einem. Ein Emoji aus einer Zusatzebene belegt zwei UTF-16-Code-Einheiten und lässt sich in striktem UCS-2 nicht kodieren.

Welche Sprachen benötigen UCS-2?

Viele nichtlateinische Schriften sowie jeder Text mit Zeichen außerhalb von GSM-7. Manche lateinischen Buchstaben mit Akzent erfordern es bereits.

Mehr erfahren

Quellen

  1. 3GPP TS 23.038: Alphabete und sprachspezifische Informationen für SMS