BroadNet
SMS-CodierungData Coding

Das Data Coding Scheme (DCS)

Aktualisiert am 2 Min. LesezeitStandardsbasiert
Direkte Antwort

Das Data Coding Scheme (DCS) ist ein Ein-Oktett-Feld — data_coding in SMPP, TP-DCS in GSM — das dem Netz mitteilt, wie der Nachrichten-Body codiert ist und optional seine Nachrichtenklasse. Die drei relevanten Werte sind 0x00 (GSM-7-Standard), 0x04 (8-bit-Binär) und 0x08 (UCS-2/Unicode). Höhere Coding-Gruppen ergänzen Nachrichtenklassen- und Flash-Verhalten.

§01

Die drei Werte, die Sie täglich verwenden

Für nahezu allen A2P-Textverkehr ist das DCS einer von drei Werten. 0x00 wählt das GSM-7-Standardalphabet. 0x04 wählt 8-bit-Binär (verwendet für OTA, WAP Push und andere Datennutzlasten, nicht für menschlichen Text). 0x08 wählt UCS-2 für Unicode. Ein falscher Wert verursacht Mojibake und Fehlsegmentierung, daher muss er zu der tatsächlichen Codierung von short_message passen.

Gängige data_coding-/DCS-Werte
WertKodierungVerwenden
0x00GSM-7-StandardalphabetStandard-SMS mit lateinischem Text
0x01IA5 / ASCIISelten verwendet
0x03Latin-1 (ISO-8859-1)Einige westeuropäische Routen
0x048-Bit-BinärBinäre / OTA- / WAP-Push-Payloads
0x08UCS-2 (UTF-16BE)Unicode / nicht-lateinisch / Emoji
§02

Die GSM-03.38-Coding-Gruppen

Das DCS-Oktett ist keine flache Aufzählung — sein oberes Nibble wählt eine Coding-Gruppe, die die unteren Bits neu interpretiert. Die allgemeine Data-Coding-Gruppe (0x0X) trägt einen Alphabet-Indikator (Bits 3-2: 00 = GSM-7, 01 = 8-bit, 10 = UCS-2) sowie ein optionales Kompressions- und Klassen-Flag. Die Data-Coding-/Nachrichtenklassen-Gruppe (0xFX) wird für Sofortanzeige-„Flash"-Nachrichten verwendet.

DCS-Coding-Gruppen-Struktur (Auswahl)
Oberes NibbleGruppeBedeutung der niedrigen Bits
0x0XAllgemeine DatenkodierungAlphabet (GSM-7/8-Bit/UCS-2), Komprimierung, Klassen-Flag
0x1XAllgemein, Klasse vorhandenWie oben, jedoch mit der Nachrichtenklasse in den Bits 1-0
0xCXNachricht wartet – verwerfenVoicemail-/Anzeigegruppen
0xDX / 0xEXNachricht wartet – speichernGSM-7-/UCS-2-Indikatorgruppen
0xFXDatenkodierung / NachrichtenklasseAlphabet in Bit 2, Klasse in Bits 1-0 (Flash = Klasse 0)
§03

Nachrichtenklassen

Wenn das DCS eine Nachrichtenklasse anzeigt, wählen die Bits 1-0, wo die Nachricht landet. Klasse 0 ist eine „Flash"-SMS, die sofort auf dem Bildschirm angezeigt wird, ohne gespeichert zu werden. Klasse 1 zielt auf das Endgerät (ME), Klasse 2 auf die SIM (SIM Toolkit / OTA) und Klasse 3 auf externe Endgeräte. Die meisten A2P-Texte tragen keine Klasse; Flash (Klasse 0, z. B. DCS 0xF0 für GSM-7) wird für Meldungen genutzt, die sofort erscheinen müssen.

SMS-Nachrichtenklassen
KlasseZielortVerhalten
Class 0BildschirmFlash – wird sofort angezeigt, nicht automatisch gespeichert
Class 1Mobilgerät (ME)Im Speicher des Endgeräts gespeichert
Class 2SIMSIM Toolkit / OTA-Bereitstellung
Class 3Endgerät (TE)Weitergeleitet an externe Geräte
Häufig gestellte Fragen

Häufig gestellte Fragen

Was ist das Data Coding Scheme in SMS?

Es ist ein Ein-Oktett-Feld (data_coding in SMPP, TP-DCS in GSM), das dem Netz mitteilt, wie der Nachrichten-Body codiert ist — GSM-7, 8-bit oder UCS-2 — und optional seine Nachrichtenklasse. Es muss zu der tatsächlichen Codierung der Nutzlast passen.

Welchen data_coding-Wert verwende ich für GSM-7 vs. Unicode?

Verwenden Sie 0x00 für GSM-7-Standardalphabet-Text und 0x08 für UCS-2-Unicode. Verwenden Sie 0x04 nur für 8-bit-Binärnutzlasten wie OTA oder WAP Push, niemals für menschenlesbaren Text.

Was ist eine Flash-SMS?

Eine Flash-SMS ist eine Klasse-0-Nachricht, die sofort auf dem Bildschirm des Empfängers erscheint, ohne im Posteingang gespeichert zu werden. Sie wird über die Nachrichtenklassen-Bits des DCS gesetzt (zum Beispiel 0xF0 für GSM-7-Flash).

Warum kam meine Nachricht als verstümmelte Zeichen an?

Fast immer eine DCS-Nichtübereinstimmung: Der data_coding-Wert passte nicht zur tatsächlichen Codierung von short_message. Zum Beispiel erzeugt das Senden von UTF-16-Bytes mit data_coding 0x00 (GSM-7) Mojibake. Setzen Sie data_coding passend zu den gesendeten Bytes.

Referenzen

Quellenspezifikationen

Diese Seite basiert auf den veröffentlichten Standards. (Wird in einem neuen Tab geöffnet.)

BNWird vom BroadNet -Entwicklungsteam betreut.·Messaging in Carrier-Qualität seit 2003
Hänge es an den Draht

Entwicklung mit echtem SMPP Binding und REST-API.

Fordern Sie Testzugriff mit echten Testschlüsseln an: Senden Sie zunächst an Ihre eigene verifizierte Nummer und gehen Sie dann in über 200 Ländern zum Produktivbetrieb über, sobald Ihre Absenderidentität und die Routen genehmigt wurden.