Beim Aufbau automatisierter Systeme oder dem Versenden von Kundenbenachrichtigungen sind viele Geschäftsinhaber und Entwickler schockiert, wenn sie feststellen, dass ihre monatlichen SMS-Rechnungen doppelt so hoch sind wie erwartet. Dieser umfassende Leitfaden bietet eine Tabelle mit der Anzahl der Zeichen, die Sonderzeichen beim SMS-Versand benötigen, und hilft Ihnen zu verstehen, wie versteckte Kodierungswechsel Ihre Messaging-Kosten drastisch in die Höhe treiben können.

Warum Sonderzeichen die SMS-Länge und -Kosten verändern

Nach Telekommunikationsstandards werden SMS-Nachrichten nicht nach der reinen Anzahl der geschriebenen Wörter abgerechnet, sondern nach "Segmenten." Ein Standard-SMS-Segment wird mit dem GSM-7-Zeichensatz kodiert, der bis zu 160 Zeichen pro Nachricht zulässt. Sobald Sie jedoch ein einziges Zeichen außerhalb dieses Standardsatzes verwenden – wie ein Emoji, einen kyrillischen Buchstaben oder sogar ein schickes "typografisches Anführungszeichen", das aus Microsoft Word kopiert wurde –, wechselt die gesamte Nachrichtenkodierung zu UCS-2 (Unicode).

Dass unter UCS-2-Kodierung SMS-Nachrichten auf 160 Zeichen begrenzt sind, selbst wenn sie Sonderzeichen und Emojis enthalten, ist ein weit verbreiteter Irrglaube. In der Realität sinkt das maximale Zeichenlimit pro Segment sofort von 160 Zeichen auf nur noch 70 Zeichen, sobald ein einziges Nicht-GSM-Zeichen erkannt wird. Wenn Ihre Nachricht 71 Zeichen lang ist und ein Emoji enthält, wird sie von traditionellen API-Anbietern wie Twilio oder Plivo aufgeteilt und als zwei separate SMS-Segmente abgerechnet.

Zu verstehen, welche Sonderzeichen sich üblicherweise auf Nachrichten auswirken, ist entscheidend, um Ihre Betriebskosten niedrig zu halten – insbesondere, wenn Sie ein lokales Dienstleistungsunternehmen wie eine Klinik, einen Salon oder eine Werkstatt betreiben und Terminerinnerungen an Ihre Kunden senden.

GSM-7 vs. UCS-2 Kodierung erklärt

GSM-7 ist ein 7-Bit-Zeichenkodierungsstandard, der speziell für SMS entwickelt wurde. Er enthält die meisten lateinischen Zeichen, Zahlen und grundlegende Satzzeichen. UCS-2 ist ein 16-Bit-Kodierungsstandard, der fast jedes Zeichen in jeder Sprache, einschließlich Emojis, darstellen kann, aber die doppelte Datenmenge pro Zeichen benötigt. Dieser Daten-Overhead ist der Grund, warum Mobilfunknetze die Segmentkapazität auf 70 Zeichen reduzieren, sobald UCS-2 ausgelöst wird.

Die ultimative SMS-Sonderzeichen-Tabelle

Nachfolgend finden Sie eine Tabelle mit der Anzahl der Zeichen, die Sonderzeichen für den SMS-Versand benötigen. Diese Tabelle zeigt Standard-GSM-7-Zeichen, erweiterte GSM-7-Zeichen (die 2 Zeichenplätze innerhalb des 160er-Limits benötigen) und UCS-2-Zeichen, die das strikte 70-Zeichen-Limit erzwingen.

ZeichenkategorieBeispielzeichenBits pro ZeichenZeichengewichtung in der SMSMax. Segmentlimit
GSM-7 BasicA-Z, a-z, 0-9, Leerzeichen, einfache Satzzeichen (., !, ?, @, $, etc.)7 Bits1 Zeichen160 Zeichen
GSM-7 Extended^, {, }, [, ], ~, |, \, €14 Bits2 Zeichen160 Zeichen (jedes erweiterte Zeichen zählt als 2)
UCS-2 (Unicode)á, í, ó, ñ, ’ (typografisches Anführungszeichen), Emojis (😀), Kyrillisch, Arabisch16 BitsErzwingt Unicode für die gesamte Nachricht70 Zeichen

Wie in der Tabelle gezeigt, erzwingt die Verwendung eines erweiterten GSM-7-Zeichens wie einer geschweiften Klammer "{" oder eines Backslashs "\" kein Unicode, zählt jedoch als zwei Zeichen für Ihr 160-Zeichen-Limit. Die Verwendung eines Nicht-GSM-Zeichens wie "á" (oft in spanischen sms y caracteres especiales-Konfigurationen verwendet) oder eines typografischen Apostrophs "’" reduziert Ihr Nachrichtensegmentlimit jedoch sofort auf 70 Zeichen.

Wie Sonderzeichen Ihre SMS-Kosten beeinflussen

Um zu verstehen, los caracteres especiales que impacto tienen en el coste de los sms (welchen Einfluss Sonderzeichen auf die Kosten von SMS haben), schauen wir uns ein praktisches Beispiel an. Stellen Sie sich vor, Sie betreiben eine Zahnarztpraxis und senden die folgende Terminerinnerung:

"Hi John, Ihr Termin ist für morgen um 15:00 Uhr geplant. Bitte antworten Sie, um zu bestätigen, oder rufen Sie uns an, wenn Sie den Termin verschieben müssen! Él"

Diese Nachricht ist 123 Zeichen lang. Wenn Sie das Standard-"E" anstelle des akzentuierten "É" verwenden, wird die Nachricht in GSM-7 gesendet. Sie passt problemlos in das 160-Zeichen-Limit und kostet Sie genau 1 SMS-Segment.

Aufgrund des akzentuierten "É" wird die Nachricht jedoch in UCS-2 erzwungen. Das Segmentlimit beträgt nun 70 Zeichen. Ihre 123-Zeichen-Nachricht wird in zwei Segmente aufgeteilt (das erste Segment hat 67 Zeichen, das zweite 56 Zeichen aufgrund von Segmentierungs-Headern). Traditionelle API-Gateways stellen Ihnen 2 SMS-Nachrichten anstelle von 1 in Rechnung.

Wenn Sie traditionelle Anbieter nutzen, kann diese Segmentierung Ihre monatliche Rechnung verdoppeln oder verdreifachen. Aus diesem Grund suchen viele Unternehmen nach einer Twilio-Alternative oder konsultieren einen Leitfaden für die günstigste SMS-API, um willkürliche segmentbasierte Aufschläge zu vermeiden.

Wie vermeide ich Sonderzeichen in SMS?

Wenn Sie Ihre Nachrichten innerhalb des 160-Zeichen-Limits halten und unerwartete Kosten vermeiden möchten, müssen Sie Ihre SMS-Inhalte aktiv bereinigen. Hier sind praktische Strategien dazu, wie Sie Sonderzeichen in SMS vermeiden können:

  1. Kopierten Text bereinigen: Viele CRM-Vorlagen enthalten "smarte" Interpunktion. Beispielsweise kann ein kopiertes Apostroph (’) oder Komma aus einem Rich-Text-Editor eine saubere Zustellung verhindern oder Unicode auslösen. Als Praxisbeispiel geben einige interne Unternehmenssysteme eine kurze Warnung an Berater aus: "Sonderzeichen bei ausgehenden SMS: Bitte beachten Sie, dass jede gesendete ausgehende SMS maximal 250 Zeichen lang sein darf. Wenn Ihre Nachricht aus einer gespeicherten Vorlage kopiert und eingefügt wurde und ein Komma (,) oder Apostroph (') enthält, entfernen Sie das Sonderzeichen bitte und geben Sie es vor dem Senden erneut ein". Das Ersetzen von typografischen Anführungszeichen durch standardmäßige gerade Anführungszeichen (') stellt die GSM-7-Konformität sicher.
  2. Nicht-GSM-Zeichen programmatisch ersetzen: Wenn Ihr System SMS dynamisch generiert, implementieren Sie eine Transliterationsfunktion, um Zeichen wie "á" durch "a", "é" durch "e", und "“" durch """ zu ersetzen.
  3. Plattformspezifische Einschränkungen berücksichtigen: Wenn Sie auf Low-Code-Plattformen für Unternehmen entwickeln, achten Sie darauf, wie diese mit der Kodierung umgehen – beispielsweise bei der Verwaltung von Sonderzeichen in GSM-OutSystems-Integrationen, wo Textvariablen bei der JSON-Serialisierung standardmäßige Satzzeichen automatisch in Unicode-Äquivalente umwandeln können.

Python-Code-Snippet zur Bereinigung von SMS-Texten

Hier ist eine einfache Python-Funktion, um Sonderzeichen, die SMS nicht erkennen oder die eine teure UCS-2-Kodierung erzwingen würden, zu entfernen:

import unicodedata

def sanitize_for_gsm7(text):
    # Map common smart punctuation to GSM-7 equivalents
    replacements = {
        '\u2018': "'", '\u2019': "'", # Smart single quotes
        '\u201c': '"', '\u201d': '"', # Smart double quotes
        '\u2013': '-', '\u2014': '-', # En and em dashes
        '\u20ac': 'EUR'               # Replace Euro sign if needed
    }
    for unicode_char, gsm_char in replacements.items():
        text = text.replace(unicode_char, gsm_char)
    
    # Normalize accents (e.g., é to e)
    normalized = unicodedata.normalize('NFD', text)
    gsm7_text = "".join([c for c in normalized if not unicodedata.combining(c)])
    return gsm7_text

message = "Hello! Your appointment is confirmed for tomorrow é."
print(sanitize_for_gsm7(message))
# Output: "Hello! Your appointment is confirmed for tomorrow e."

Beseitigung von Kodierungsängsten mit MySMSGate

Für lokale Dienstleistungsunternehmen, Schulen und Kliniken ist die Sorge um Zeichenkodierung, Segmentgrenzen und komplexe Abrechnungsstrukturen ein unnötiges Kopfzerbrechen. An dieser Stelle wird die Entscheidung zwischen einem herkömmlichen SMS-Gateway und einer SMS-API entscheidend.

MySMSGate löst dieses Problem vollständig. Anstatt Ihre Nachrichten über teure Mobilfunknetze mit strengen, segmentabhängigen Preisen zu leiten, verwandelt MySMSGate Ihr eigenes Android-Telefon und Ihre SIM-Karte in ein SMS-Gateway.

So revolutioniert MySMSGate das Spiel für kostenbewusste Unternehmen:

  • Flatrate-Preise: Wir berechnen eine Pauschale von 0,02 $ pro gesendeter Nachricht, unabhängig von Länge, Zeichenkodierung oder Segmenten. Sie müssen sich keine Sorgen machen, ob ein Emoji oder ein akzentuiertes Zeichen Ihre Rechnung verdoppelt.
  • Eigene Nummer nutzen: Nachrichten werden direkt von der SIM-Karte Ihres Android-Telefons gesendet. Ihre Kunden sehen eine lokale, vertraute Mobilfunknummer, was die Antwort- und Öffnungsraten erhöht.
  • Keine komplexen Registrierungen: Vermeiden Sie die komplexen 10DLC-Registrierungen, Netzbetreiberzulassungen und monatlichen Markengebühren, die mit herkömmlichen APIs wie Twilio verbunden sind.
  • Dual-SIM- und Multi-Geräte-Unterstützung: Verwalten Sie mehrere Telefone und SIM-Karten über ein einziges Dashboard und wählen Sie für jedes Kundengespräch genau die Leitung aus, von der aus gesendet werden soll.

Häufig gestellte Fragen

Überprüfen Sie diese häufigen Fragen zu SMS-Zeichenkodierung, Sonderzeichen und Nachrichtenlimits.

Welche Sonderzeichen reduzieren das SMS-Limit auf 70 Zeichen?

Jedes Zeichen, das nicht im Standard-GSM-7-Zeichensatz enthalten ist, erzwingt die UCS-2-Kodierung, wodurch das Limit auf 70 Zeichen sinkt. Dazu gehören Emojis, nicht-lateinische Alphabete (Kyrillisch, Arabisch, Griechisch, Hebräisch) sowie bestimmte akzentuierte Buchstaben oder stilisierte Satzzeichen (wie typografische Anführungszeichen).

Zählen Leerzeichen als Zeichen in einer SMS?

Ja, jedes Leerzeichen zählt sowohl im GSM-7- als auch im UCS-2-Kodierungsstandard als ein einzelnes Zeichen.

Warum berechnet mir meine SMS-Plattform mehrere Nachrichten, obwohl ich nur eine gesendet habe?

Wenn Ihre Nachricht 160 Zeichen (in GSM-7) oder 70 Zeichen (in UCS-2) überschritten hat, hat der Netzbetreiber die Nachricht in mehrere Segmente aufgeteilt. Traditionelle APIs rechnen pro Segment ab, was bedeutet, dass eine einzige lange Nachricht leicht das Doppelte oder Dreifache des Basistarifs kosten kann.

Wie kann ich testen, ob meine SMS-Nachricht Sonderzeichen enthält?

Sie können Online-SMS-Segmentrechner verwenden oder ein einfaches Bereinigungsskript in Ihrem Backend ausführen, um festzustellen, ob Ihr Text die UCS-2-Unicode-Kodierung auslöst, bevor Sie ihn an Ihren API-Anbieter senden.