Benutzer-Werkzeuge

Webseiten-Werkzeuge


sms-codierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

sms-codierung [2009/11/19 09:26] (aktuell)
Zeile 1: Zeile 1:
 +===== 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 (**D**ata **C**oding **S**cheme),​ und eventuell zusätzlich im UDH (**U**ser **D**ata **H**eader) 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: <​html>&#​x637;</​html>​
 +  * 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 <​html>&#​x15E;</​html>​
 +  * 7 Bit mit Locking Shift: bei Einstellung '​Portugiesisch'​ ergibt 0x1B gefolgt von 0x0B ein O mit Circumflex <​html>&​Ocirc;</​html>​
 +
 +==== Zeichensätze ====
 +
 +<​html>​
 +<style type="​text/​css">​
 +<!--
 +td {
 + ​vertical-align:​top;​
 +}
 +.lightyellow {
 + ​background-color:​ #ffffc0;
 +}
 +.nicegrid {
 + ​border:​ 1px solid silver;
 + ​border-collapse:​ collapse;
 + ​empty-cells:​ show;
 + ​margin-top:​ 5px;
 + ​margin-bottom:​ 5px;
 +}
 +.nicegrid td {
 + ​border:​ 1px solid silver;
 + ​text-align:​ center;
 + ​padding-left:​ 2px;
 + ​padding-right:​ 2px;
 +}
 +-->
 +</​style>​
 +<​table>​
 + <​tbody>​
 +  <tr>
 +   <​td>​
 +    Standardzeichensatz<​br>&​nbsp;​
 +    <table class="​nicegrid">​
 +     <​tbody>​
 +      <​tr><​td></​td><​td>​0x00</​td><​td>​0x10</​td><​td>​0x20</​td><​td>​0x30</​td><​td>​0x40</​td><​td>​0x50</​td><​td>​0x60</​td><​td>​0x70</​td></​tr>​
 +      <​tr><​td>​0x00</​td><​td>​@</​td><​td>&​Delta;</​td><​td>&​nbsp;</​td><​td>​0</​td><​td>&​iexcl;</​td><​td>​P</​td><​td>&​iquest;</​td><​td>​p</​td></​tr>​
 +      <​tr><​td>​0x01</​td><​td>&​pound;</​td><​td>​_</​td><​td>​!</​td><​td>​1</​td><​td>​A</​td><​td>​Q</​td><​td>​a</​td><​td>​q</​td></​tr>​
 +      <​tr><​td>​0x02</​td><​td>​$</​td><​td>&​Phi;</​td><​td>&​quot;</​td><​td>​2</​td><​td>​B</​td><​td>​R</​td><​td>​b</​td><​td>​r</​td></​tr>​
 +      <​tr><​td>​0x03</​td><​td>&​yen;</​td><​td>&​Gamma;</​td><​td>#</​td><​td>​3</​td><​td>​C</​td><​td>​S</​td><​td>​c</​td><​td>​s</​td></​tr>​
 +      <​tr><​td>​0x04</​td><​td>&​egrave;</​td><​td>&​Lambda;</​td><​td>&​curren;</​td><​td>​4</​td><​td>​D</​td><​td>​T</​td><​td>​d</​td><​td>​t</​td></​tr>​
 +      <​tr><​td>​0x05</​td><​td>&​eacute;</​td><​td>&​Omega;</​td><​td>​%</​td><​td>​5</​td><​td>​E</​td><​td>​U</​td><​td>​e</​td><​td>​u</​td></​tr>​
 +      <​tr><​td>​0x06</​td><​td>&​ugrave;</​td><​td>&​Pi;</​td><​td>&​amp;</​td><​td>​6</​td><​td>​F</​td><​td>​V</​td><​td>​f</​td><​td>​v</​td></​tr>​
 +      <​tr><​td>​0x07</​td><​td>&​igrave;</​td><​td>&​Psi;</​td><​td>'</​td><​td>​7</​td><​td>​G</​td><​td>​W</​td><​td>​g</​td><​td>​w</​td></​tr>​
 +      <​tr><​td>​0x08</​td><​td>&​ograve;</​td><​td>&​Sigma;</​td><​td>​(</​td><​td>​8</​td><​td>​H</​td><​td>​X</​td><​td>​h</​td><​td>​x</​td></​tr>​
 +      <​tr><​td>​0x09</​td><​td>&​ccedil;</​td><​td>&​Theta;</​td><​td>​)</​td><​td>​9</​td><​td>​I</​td><​td>​Y</​td><​td>​i</​td><​td>​y</​td></​tr>​
 +      <​tr><​td>​0x0A</​td><​td class="​lightyellow">&​sup1;</​td><​td>&​Xi;</​td><​td>​*</​td><​td>:</​td><​td>​J</​td><​td>​Z</​td><​td>​j</​td><​td>​z</​td></​tr>​
 +      <​tr><​td>​0x0B</​td><​td>&​Oslash;</​td><​td class="​lightyellow">&​sup3;</​td><​td>​+</​td><​td>;</​td><​td>​K</​td><​td>&​Auml;</​td><​td>​k</​td><​td>&​auml;</​td></​tr>​
 +      <​tr><​td>​0x0C</​td><​td>&​oslash;</​td><​td>&​AElig;</​td><​td>,</​td><​td>&​lt;</​td><​td>​L</​td><​td>&​Ouml;</​td><​td>​l</​td><​td>&​ouml;</​td></​tr>​
 +      <​tr><​td>​0x0D</​td><​td class="​lightyellow">&​sup2;</​td><​td>&​aelig;</​td><​td>​-</​td><​td>​=</​td><​td>​M</​td><​td>&​Ntilde;</​td><​td>​m</​td><​td>&​ntilde;</​td></​tr>​
 +      <​tr><​td>​0x0E</​td><​td>&​Aring;</​td><​td>&​szlig;</​td><​td>​.</​td><​td>&​gt;</​td><​td>​N</​td><​td>&​Uuml;</​td><​td>​n</​td><​td>&​uuml;</​td></​tr>​
 +      <​tr><​td>​0x0F</​td><​td>&​aring;</​td><​td>&​Eacute;</​td><​td>/</​td><​td>?</​td><​td>​O</​td><​td>&​sect;</​td><​td>​o</​td><​td>&​agrave;</​td></​tr>​
 +     </​tbody>​
 +    </​table>​
 +    &sup1;: ist ein Zeilenvorschub (LF, Linefeed)<​br>​
 +    &sup2;: ist ein Wagenr&​uuml;​cklauf (CR, Carriage Return)<​br>​
 +    &sup3;: ist der Escape-Code. ​
 +   </​td>​
 +   <​td>​
 +    &nbsp;
 +   </​td>​
 +   <​td>​
 +    Standardzeichensatzerweiterung<​br>&​nbsp;​
 +    <table class="​nicegrid">​
 +     <​tbody>​
 +      <​tr><​td></​td><​td>​0x00</​td><​td>​0x10</​td><​td>​0x20</​td><​td>​0x30</​td><​td>​0x40</​td><​td>​0x50</​td><​td>​0x60</​td><​td>​0x70</​td></​tr>​
 +      <​tr><​td>​0x00</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>​|</​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x01</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x02</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x03</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x04</​td><​td></​td><​td>&​circ;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x05</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&​euro;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x06</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x07</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x08</​td><​td></​td><​td></​td><​td>​{</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x09</​td><​td></​td><​td></​td><​td>​}</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0A</​td><​td class="​lightyellow">&​sup1;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0B</​td><​td></​td><​td class="​lightyellow">&​sup2;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0C</​td><​td></​td><​td></​td><​td></​td><​td>​[</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0D</​td><​td></​td><​td></​td><​td></​td><​td>&​tilde;</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0E</​td><​td></​td><​td></​td><​td></​td><​td>​]</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0F</​td><​td></​td><​td></​td><​td>​\</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +     </​tbody>​
 +    </​table>​
 +    &sup1;: ist ein Seitenumbruch (Page Break)<​br>​
 +    &sup2;: ist ein ESC.
 +   </​td>​
 +  </tr>
 + </​tbody>​
 +</​table>​
 +
 +
 +
 +<​table>​
 + <​tbody>​
 +  <tr>
 +   <​td>​
 +    Zeichensatzerweiterung Türkisch<​br>&​nbsp;​
 +    <table class="​nicegrid">​
 +     <​tbody>​
 +      <​tr><​td></​td><​td>​0x00</​td><​td>​0x10</​td><​td>​0x20</​td><​td>​0x30</​td><​td>​0x40</​td><​td>​0x50</​td><​td>​0x60</​td><​td>​0x70</​td></​tr>​
 +      <​tr><​td>​0x00</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>​|</​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x01</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x02</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x03</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&#​x015e;</​td><​td>&​ccedil;</​td><​td>&#​x015f</​td></​tr>​
 +      <​tr><​td>​0x04</​td><​td></​td><​td>&​circ;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x05</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&​euro;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x06</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x07</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&#​x011e;</​td><​td></​td><​td>&#​x011f;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x08</​td><​td></​td><​td></​td><​td>​{</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x09</​td><​td></​td><​td></​td><​td>​}</​td><​td></​td><​td>&#​x0130;</​td><​td></​td><​td>&#​x0131;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0A</​td><​td class="​lightyellow">&​sup1;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0B</​td><​td></​td><​td class="​lightyellow">&​sup2;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0C</​td><​td></​td><​td></​td><​td></​td><​td>​[</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0D</​td><​td></​td><​td></​td><​td></​td><​td>&​tilde;</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0E</​td><​td></​td><​td></​td><​td></​td><​td>​]</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0F</​td><​td></​td><​td></​td><​td>​\</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +     </​tbody>​
 +    </​table>​
 +    &sup1;: ist ein Seitenumbruch (Page Break)<​br>​
 +    &sup2;: ist ein ESC.
 +   </​td>​
 +   <​td>​
 +    &nbsp;
 +   </​td>​
 +   <​td>​
 +    Zeichensatzerweiterung Spanisch<​br>&​nbsp;​
 +    <table class="​nicegrid">​
 +     <​tbody>​
 +      <​tr><​td></​td><​td>​0x00</​td><​td>​0x10</​td><​td>​0x20</​td><​td>​0x30</​td><​td>​0x40</​td><​td>​0x50</​td><​td>​0x60</​td><​td>​0x70</​td></​tr>​
 +      <​tr><​td>​0x00</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>​|</​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x01</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&​Aacute;</​td><​td></​td><​td>&​aacute;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x02</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x03</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x04</​td><​td></​td><​td>&​circ;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x05</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td>&​Uacute;</​td><​td>&​euro;</​td><​td>&​uacute;</​td></​tr>​
 +      <​tr><​td>​0x06</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x07</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x08</​td><​td></​td><​td></​td><​td>​{</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x09</​td><​td>&​ccedil;</​td><​td></​td><​td>​}</​td><​td></​td><​td>&​Iacute;</​td><​td></​td><​td>&​iacute;</​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0A</​td><​td class="​lightyellow">&​sup1;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0B</​td><​td></​td><​td class="​lightyellow">&​sup2;</​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0C</​td><​td></​td><​td></​td><​td></​td><​td>​[</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0D</​td><​td></​td><​td></​td><​td></​td><​td>&​tilde;</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0E</​td><​td></​td><​td></​td><​td></​td><​td>​]</​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​
 +      <​tr><​td>​0x0F</​td><​td></​td><​td></​td><​td>​\</​td><​td></​td><​td>&​Oacute;</​td><​td></​td><​td>&​oacute;</​td><​td></​td></​tr>​
 +     </​tbody>​
 +    </​table>​
 +    &sup1;: ist ein Seitenumbruch (Page Break)<​br>​
 +    &sup2;: ist ein ESC.
 +   </​td>​
 +  </tr>
 + </​tbody>​
 +</​table>​
 +
 +</​html>​
  
sms-codierung.txt · Zuletzt geändert: 2009/11/19 09:26 (Externe Bearbeitung)