Ein Telefon kann einen langen Text als eine Nachricht anzeigen, auch wenn das Netzwerk mehrere Teile überträgt. Das Alphabet, mit dem Ihr Text kodiert wird, bestimmt, wie viele Teile Bird berechnet.
Was ist ein Segment?
Ein Segment ist das größte Textstück, das eine einzelne Netzwerknachricht transportieren kann. Einfacher lateinischer Text passt mit 160 Zeichen in ein Segment. Enthält die Nachricht auch nur ein Zeichen außerhalb dieses Zeichensatzes, etwa ein Emoji, ein typografisches Anführungszeichen oder die meisten Buchstaben mit Akzent, fasst jedes Segment nur noch 70 Zeichen.
Wenn eine Nachricht mehr als ein Segment benötigt, gibt jeder Teil etwas Platz für einen Header ab, den das Telefon zum Zusammensetzen verwendet: 153 Zeichen pro Teil bei einfachem Text, 67 beim erweiterten Zeichensatz. 161 einfache Buchstaben kosten also zwei Segmente: 153 im ersten und acht im zweiten.
Bird zählt einfachen Text im GSM-7-Alphabet und alles andere als UCS-2, die beiden Kodierungen, die Mobilfunkanbieter akzeptieren. Einige Zeichen zählen selbst innerhalb von GSM-7 doppelt, und manche Emoji zählen in UCS-2 doppelt; die Kodierungsseite listet sie auf.
Warum hat eine Nachricht drei gekostet?
Bird berechnet nach Segmentanzahl, daher verursacht eine Nachricht mit drei Segmenten drei Einheiten zum geltenden Tarif.
Bird berechnet die Anzahl beim Annehmen Ihres Versands. Zielland, Nachrichtenkategorie und Absendertyp bestimmen ebenfalls den geltenden Preis. Prüfen Sie die SMS-Preise für die Route, die Sie verwenden.
Beispiel: 150 gewöhnliche lateinische Buchstaben passen in ein Segment. Fügen Sie ein Smiley-Emoji hinzu, und der gesamte Text verwendet UCS-2. Dieses Emoji zählt doppelt, womit die Summe bei 152 liegt. 152 geteilt durch die Multipart-Kapazität von 67 ergibt drei Segmente.
Welche Zeichen ändern die Kodierung?
Jedes Zeichen außerhalb von GSM-7 verschiebt den gesamten Nachrichtentext nach UCS-2.
Gerade Anführungszeichen passen in GSM-7. Typografische Anführungszeichen nicht. Die Buchstaben é und ü passen. Die Buchstaben á, í und ú nicht. Chinesischer, japanischer, koreanischer, arabischer, thailändischer und Hindi-Text erfordert ebenfalls die erweiterte Kodierung.
Ein Name oder Produkttitel, der in ein Template eingefügt wird, kann daher die Kodierung der gesamten Nachricht ändern. Prüfen Sie den fertigen Text nach dem Einsetzen dieser Werte.
Warum liefert eine Zeichenanzahl ein anderes Ergebnis?
Manche Zeichen zählen für das Segmentlimit doppelt.
GSM-7 zählt jedes der Zeichen €, [, ], {, }, \, ~, ^ und | als zwei Zeichen. Das Seitenvorschub-Zeichen, das einen Seitenumbruch anfordert, zählt ebenfalls doppelt. Achtzig Eurozeichen füllen daher ein Segment.
Ein Nachrichtentext aus 159 gewöhnlichen lateinischen Buchstaben gefolgt von € hat 160 Zeichen. Er zählt als 161 für das Limit. Er benötigt zwei Segmente.
Manche Emoji, etwa 😀, zählen in UCS-2 doppelt. 35 davon füllen ein Segment. Die Kodierungsseite listet die Zeichen auf, die besondere Aufmerksamkeit erfordern.
Wie prüfe ich die Anzahl in Bird?
Sie lesen die berechnete Anzahl aus dem segments-Objekt der Nachrichtenantwort.
countist eine Ganzzahl von mindestens 1. Jedes gezählte Segment ist eine Abrechnungseinheit. Ausgehende Nachrichten sind auf 12 begrenzt. Ein längerer Text erhält HTTP422, wodurch die Anfrage abgelehnt wird, ohne den Text zu kürzen.encodingistGSM_7BIToderUCS2und gibt an, welche Kapazität gilt.characterszählt die Zeichen im Text vor Anwendung der Doppelzählungsregeln. Verwenden Siecount, um abrechenbare Segmente zu prüfen.
Wenn eine Nachricht in ein Segment passen muss, prüfen Sie count nach dem Erstellen des vollständigen Textes. Berücksichtigen Sie eingefügte Namen und zählen Sie Zeichen wie 😀 doppelt.
Sie können auch options.smart_encoding auf true oder false setzen. Der Standardwert ist false. Wenn aktiviert, ersetzt es unterstützte Satzzeichen nur, wenn das gesamte Ergebnis in GSM-7 passt. Ein Emoji im Text verhindert alle Ersetzungen. Smart encoding erklärt dieses Verhalten.
Der Leitfaden zu Zeichenlimits dokumentiert die Zählregeln und Antwortfelder.
Kurz gesagt
Jedes Segment ist eine Abrechnungseinheit.
Eine Nachricht, die in drei Segmente aufgeteilt wird, wird zum geltenden Tarif als drei Einheiten berechnet.
Die Kodierung bestimmt die Kapazität.
Ein einziges Zeichen außerhalb des kompakten SMS-Alphabets verschiebt den gesamten Nachrichtentext in die Unicode-Kodierung.
Manche Zeichen zählen doppelt.
Ein Eurozeichen zählt als zwei Zeichen für das Limit. Manche Emoji zählen ebenfalls doppelt.
Jedes Multipart-Segment reserviert Platz für einen Header.
Die Aufteilung verringert die Kapazität in jedem Teil, auch im ersten.