Réponse courte
Un SMS est découpé en plusieurs messages lorsque le texte dépasse un segment : 160 caractères en GSM-7 ou 70 caractères en Unicode (UCS-2). Les messages longs partent en segments liés de 153 ou 67 caractères, car chacun porte un en-tête de réassemblage. Une seule lettre arabe, un emoji ou un guillemet typographique fait passer tout le message en Unicode.
Quelles sont les limites par segment ?
La norme 3GPP TS 23.040 limite chaque SMS à 140 octets de données utiles. Lorsqu'un message est plus long, un en-tête UDH (User Data Header) de 6 octets est ajouté à chaque partie pour que le téléphone puisse les réassembler, ce qui réduit la place disponible par segment.
| Encodage | Utilisé pour | SMS unique | Par segment d'un SMS long |
|---|---|---|---|
| GSM-7 | Lettres latines de base, chiffres, ponctuation courante | 160 caractères | 153 caractères |
| UCS-2 | Arabe, emoji, autres caractères hors GSM | 70 caractères | 67 caractères |
Quels caractères cachés provoquent un découpage inattendu ?
- Les guillemets typographiques, tirets longs ou espaces insécables collés depuis un traitement de texte imposent l'UCS-2 et font passer la limite de 160 à 70.
- Les caractères de la table d'extension GSM-7, comme € { } [ ] ~ | ^ et \, comptent chacun pour deux caractères.
- Les emoji imposent l'UCS-2, et la plupart occupent deux des 70 places.
- Les variables de personnalisation peuvent faire dépasser la limite pour les destinataires aux noms longs.
Comment éviter que mon SMS soit découpé ?
- Collez le texte final, avec les valeurs de variables les plus longues, dans un compteur de caractères.
- Remplacez les guillemets et tirets typographiques par des caractères simples pour rester en GSM-7.
- Raccourcissez les liens et supprimez les mots superflus.
- Envoyez l'anglais et l'arabe dans des messages séparés.
- Revérifiez le nombre de segments avant chaque envoi massif.
Un message découpé arrive-t-il quand même en un seul bloc ?
Oui, sur la plupart des téléphones, les parties sont réassemblées et affichées comme un seul message. Chaque partie est en général facturée séparément et peut avoir son propre accusé de réception : un message GSM-7 de 161 caractères coûte donc deux SMS.
