SMS Codierung – warum eine SMS 70 oder 160 Zeichen lang ist

Juni 26, 2015 | News & Trends

Geschichte

Wer beim Schreiben eines SMS am Mobiltelefon schon mal in der Situation war ein Zeichen nicht gefunden zu haben, zugegeben es kommt selten vor, fragt normal nicht nach dem Grund – wer hingegen ein SMS über ein B2B Service versendet und trotz kurzem Text auf der Rechnung doppelt so viele Nachrichten auffindet wie geplant waren, schon. Antwort auf diese Fragen liefert idR. die Codierung der SMS-Nachricht.

Im engeren Sinne ist dies jedoch nicht korrekt, da SMS sehr wohl als Produkt geplant und spezifiziert wurde. Jedoch sollte es nur zur Kommunikation zwischen Netzbetreiber und dessen Kunden dienen, um z.B. über Störungen zu informieren. Zur Standardisierung eingereicht wurde die Idee bereits 1985 von Friedhelm Hillebrand von der Deutschen Bundespost. Erst Jahre später, am 3. Dezember 1992, wurde das jetzige Produkt SMS geboren, denn an diesem Tag sendete der englische Vodafone Techniker Neil Papworth von seinem PC aus an das Handy seines Kollegen Richard Jarvis die Worte “Merry Christmas”. Dieser Nebenrolle in der damaligen Produktlandschaft ist es also zu verdanken, dass keine neuen Technologien eingeführt wurden und somit die verfügbare Nutzdatenmenge bzw. die Zeichenanzahl einer SMS an bestehenden Gegebenheiten angepasst wurde. Auch dieser Nebenrolle zuzuschreiben ist, dass das Potential von Kurznachrichten nicht von Beginn weg offensichtlich und somit der Dienst oft sogar kostenlos war. Durch diese Preisgestaltung, aber auch durch die in den 90ern im Internet immer populärer werdenden Instantmessaging-Dienste wurde letztendlich aus dem ehemaligen Nebenprodukt ein Hit.

Maximale SMS Länge

In GSM Netzen besteht jede SMS aus 140 Bytes. Ein Byte wiederum besteht aus 8 Bit. In Summe besteht eine SMS somit aus maximal 1.120 Bit. Der Text in der SMS kann auf zwei unterschiedliche Weisen codiert werden. Entweder wird eine 7 Bit Codierung verwendet oder es wird auf eine Unicode (UCS-2) Codierung gesetzt, die 16 Bit und somit 2 Byte pro Zeichen belegt. Die 8 Bit Codierung ist für Textnachrichten irrelevant und wird für binäre Nachrichten wie Bilder, Logos oder Töne verwendet.
7 Bit sind nur mit dem GSM Basiszeichensatz möglich (siehe Tabelle). Dieser wurde später um Standardzeichensatzerweiterung ergänzt. Durch diese 7 Bit Codierung ergibt sich auch, die für uns übliche SMS Länge von 160 Zeichen – 1.120/7 = 160. 7 Bit sind ein effizienter Weg, der auch seinen Tribut zollt, wenn es um „exotischere Zeichen im Zeichensatz geht“. Zeichensätze definieren, welche Elemente dargestellt werden können, etwa Buchstaben, Ziffern, Symbole oder Sonderzeichen. Um SMS Texte effizient abbilden zu können, wurde mit dem GSM-Alphabet ein reduzierter Zeichensatz erstellt, der idR ausreichend ist. Die SMS-Implementierung in CDMA beinhaltet eine variable maximale Länge für SMS, wobei in der Praxis eine Anlehnung an die GSM-Limitierungen stattfindet. Unterschiede in der Länge sind aber je nach MNO vorhanden. Hier wird auch anstatt des GSM Zeichensatzes ein 7-Bit-ASCII Zeichensatz verwendet, alternativ aber auch Unicode. Die weiteren Ausführungen beziehen sich aufgrund der Relevanz in Europa ausschliesslich auf GSM.

Basiszeichensatz

Alle Zeichen des Basiszeichensatzes zählen als ein Zeichen.
@ ? LZ 0 ¡ P ¿ p
£ _ ! 1 A Q a q
$ F 2 B R b r
¥ G # 3 C S c s
è ? ¤ 4 D T d t
é O % 5 E U e u
ù ? & 6 F V f v
ì ? 7 G W g w
ò S ( 8 H X h x
Ç T ) 9 I Y i y
LF ? * : J Z j z
Ø ESC + ; K Ä k ä
ø Æ , < L Ö l ö
CR æ = M Ñ m ñ
Å ss . > N Ü n ü
å É / ? O § o à
  • LZ: Leerzeichen
  • LF: Zeichenvorschub – Linefeed
  • ESC: Escape Zeichen
  • CR:Wagenrücklauf – Carriage Return
Standardzeichensatzerweiterung
Diese Zeichen erweitern die Tabelle oben, mit dem Unterschied, dass sie doppelt zählen. Ein € Zeichen verbraucht also gleich viel Platz wie zwei Zeichen des Basiszeichensatzes. |, ^, €, {, }, [, ~, ], \

Sonderfall überlange SMS

Texte mit einer Länge von über 160 Zeichen können auch gemeinsam versendet werden. Solche Nachrichten setzen sich aus einzelnen SMS zusammen, wobei dann nicht die vollen 160 Zeichen pro SMS zur Verfügung stehen. Jedes SMS Segment besteht aus 153 Zeichen für den Text, die verbleibenden 7 Zeichen (49 Bit) werden für den User Data Header (UDH) verwendet. Der UDH belegt in jedem SMS den ersten Bereich der Nachricht und enthält z.B. die Informationen über die Reihenfolge der zusammenhängenden SMS.

Unicode Codierung

UCS-2 unterstützt den kompletten Unicode. Damit wird so gut wie jedes verwendete Textzeichen bzw. Schriftzeichen der industrialisierten Welt einsetzbar. Der Nachteil dabei, durch das belegen von 2 Byte pro Zeichen ergibt sich eine deutliche Limitierung der maximalen SMS Länge auf lediglich 70 Zeichen pro SMS (140 Byte/2 Byte pro Zeichen = 70 Zeichen).

Probleme in der Praxis

Wenn SMS Texte in Textverarbeitungsprogrammen verfasst werden, kommt es häufig zu Codierungsproblemen, wenn der Text aus dieses Programmen in das Versandtool kopiert wird. Zeichen werden bspw von Microsoft Word™ anders interpretiert und übergeben. Ein einfacher Bindestrich wird zum Longdash. Um diese Probleme zu abzufedern, ersetzt websms diesen bspw. durch einen normalen Bindestrich. Nichtsdestotrotz ist beim Schreiben der SMS die Zeichensatzlimitierung im Hinterkopf zu behalten. Ein simples „Heute hat es 30° im Schatten“ löst bspw. wegen des ° Zeichens eine UCS-2 Codierung aus, während „Heute hat es 30 Grad Celsius im Schatten“ mit 7 Bit codiert werden kann.