Benutzer-Werkzeuge

Webseiten-Werkzeuge


sms-codierung

SMS-Codierung

Der Datenteil einer Kurznachricht kann auf 3 verschiedene Arten codiert sein. Die Art der Codierung wird im Header der Kurznachricht, dort im Parameter DCS (Data Coding Scheme), und eventuell zusätzlich im UDH (User Data Header) der Nachricht, festgelegt.

Diese 3 Möglichkeiten bestehen:

  • 16 Bit: jeweils 16 Bit werden als ein Unicode-Zeichen (UCS2) interpretiert. Es können alle Zeichen der Basic Multilingual Plane übertragen werden, pro Kurznachricht können maximal 70 Zeichen übertragen werden.
  • 8 Bit: Jeweils 8 Bit werden als ein Byte interpretiert. Eine Interpretation der Bytes als darstellbare Zeichen ist nicht spezifiziert, daher wird diese Codierung in erster Linie zur Datenübertragung verwendet, pro Kurznachricht können maximal 140 Bytes übertragen werden.
  • 7 Bit: Jeweils 7 Bit werden als ein Zeichen interpretiert, dadurch ist der Vorrat an darstellbaren Zeichen grundsätzlich auf 128 begrenzt, diese sind im 7-Bit-Standardzeichensatz festgelegt. Es existieren mehrere Mechanismen um den Bereich der darstellbaren Zeichen zu erweitern:
    • Escape: durch ein Zeichen im Basiszeichensatz (0x1B) kann einmalig für das folgende Zeichen auf eine weitere Zeichensatztabelle umgeschaltet werden. Falls nichts weiteres festgelegt ist, ist dies die 7-Bit-Standarderweiterungstabelle.
    • Escape mit Single Shift: durch ein Element im UDH der Nachricht kann eine alternative Erweiterungstabelle für den Escape-Mechanismus festgelegt werden. Alternative Erweiterungstabellen existieren für die folgenden Sprachen: Türkisch, Spanisch, Portugiesisch, Bengali, Gujarati, Hindi, Kannada, Malayalam, Oriya, Punjabi, Tamil, Telugu, Urdu.
    • Locking Shift: durch ein Element im UDH der Nachricht kann statt des Standardzeichensatzes ein alternativer Zeichensatz ausgewählt werden. Alternative Zeichensatztabellen existieren für die folgenden Sprachen: Türkisch, Portugiesisch, Bengali, Gujarati, Hindi, Kannada, Malayalam, Oriya, Punjabi, Tamil, Telugu, Urdu.

Beispiele:

  • 16 Bit: 0x0637 ergibt das arabische Zeichen Tah: ط
  • 7 Bit: 0x65 ergibt ein e
  • 7 Bit mit Escape: 0x1B gefolgt von 0x65 ergibt ein Eurozeichen €
  • 7 Bit mit Single Shift: bei Einstellung 'Türkisch' ergibt 0x1B gefolgt von 0x53 ein S mit Cedille Ş
  • 7 Bit mit Locking Shift: bei Einstellung 'Portugiesisch' ergibt 0x1B gefolgt von 0x0B ein O mit Circumflex Ô

Zeichensätze

Standardzeichensatz
 
0x000x100x200x300x400x500x600x70
0x00@Δ 0¡P¿p
0x01£_!1AQaq
0x02$Φ"2BRbr
0x03¥Γ#3CScs
0x04èΛ¤4DTdt
0x05éΩ%5EUeu
0x06ùΠ&6FVfv
0x07ìΨ'7GWgw
0x08òΣ(8HXhx
0x09çΘ)9IYiy
0x0A¹Ξ*:JZjz
0x0Bس+;KÄkä
0x0CøÆ,<LÖlö
0x0D²æ-=MÑmñ
0x0EÅß.>NÜnü
0x0FåÉ/?O§oà
¹: ist ein Zeilenvorschub (LF, Linefeed)
²: ist ein Wagenrücklauf (CR, Carriage Return)
³: ist der Escape-Code.
  Standardzeichensatzerweiterung
 
0x000x100x200x300x400x500x600x70
0x00|
0x01
0x02
0x03
0x04ˆ
0x05
0x06
0x07
0x08{
0x09}
0x0A¹
0x0B²
0x0C[
0x0D˜
0x0E]
0x0F\
¹: ist ein Seitenumbruch (Page Break)
²: ist ein ESC.
Zeichensatzerweiterung Türkisch
 
0x000x100x200x300x400x500x600x70
0x00|
0x01
0x02
0x03Şçş
0x04ˆ
0x05
0x06
0x07Ğğ
0x08{
0x09}İı
0x0A¹
0x0B²
0x0C[
0x0D˜
0x0E]
0x0F\
¹: ist ein Seitenumbruch (Page Break)
²: ist ein ESC.
  Zeichensatzerweiterung Spanisch
 
0x000x100x200x300x400x500x600x70
0x00|
0x01Áá
0x02
0x03
0x04ˆ
0x05Úú
0x06
0x07
0x08{
0x09ç}Íí
0x0A¹
0x0B²
0x0C[
0x0D˜
0x0E]
0x0F\Óó
¹: ist ein Seitenumbruch (Page Break)
²: ist ein ESC.

sms-codierung.txt · Zuletzt geändert: 2009/11/19 09:26 (Externe Bearbeitung)