BroadNet
Encodage SMSCoût

Détection d'encodage et coût du SMS

Mis à jour le 3 min de lectureFondé sur des normes
Réponse directe

Détecter l'encodage revient à vérifier si chaque caractère est dans l'alphabet GSM-7 ; s'il en manque un seul, le message entier devient UCS-2 et la capacité chute de 160 à 70 caractères. Comme le SMS est facturé au segment, un seul emoji ou guillemet courbe parasite peut doubler ou tripler le coût d'un message.

§01

Comment détecter GSM-7 vs UCS-2

La règle est simple et absolue : si chaque caractère du message est présent dans la table de base ou d'extension GSM-7, le message peut être envoyé en GSM-7 ; s'il en manque un, le message entier doit utiliser l'UCS-2. La détection est donc un test d'appartenance à l'ensemble de l'alphabet GSM-7, appliqué à toute la chaîne, en se rappelant que les dix caractères d'extension comptent pour deux septets chacun.

Logique de détectiontext
for each character c in message:
  if c not in GSM7_BASIC and c not in GSM7_EXTENSION:
     encoding = UCS-2   # one stray char forces the whole message
     break
else:
  encoding = GSM-7
§02

Les caractères qui forcent silencieusement l'UCS-2

Les caractères coûteux sont ceux que les utilisateurs introduisent sans s'en apercevoir. Les traitements de texte et les téléphones substituent automatiquement guillemets droits et traits d'union par des versions typographiques absentes du GSM-7. Les emoji ne sont jamais dans le GSM-7. Les noms non latins et toute lettre accentuée hors du jeu d'accents GSM-7 font de même. Nettoyer ces caractères avant l'envoi — remplacer la ponctuation typographique par de l'ASCII, translittérer quand c'est acceptable — maintient les messages en GSM-7.

Déclencheurs UCS-2 silencieux courants et substitutions sûres
Caractère déclencheurRemplacement compatible GSM-7
' ' (apostrophes typographiques)' (apostrophe droite)
“ ” (guillemets doubles courbes)" (guillemet droit)
– — (tiret demi-cadratin/cadratin)- (tiret)
… (points de suspension)... (trois points)
emoji(supprimer ou décrire en mots)
espace insécable(espace normal)
§03

Comment l'encodage pilote le nombre de segments

Le SMS est facturé au segment, et l'encodage fixe le nombre de segments nécessaires. Les seuils sont fixes : le GSM-7 donne 160 sur un segment puis 153 par partie ; l'UCS-2 donne 70 puis 67. Ainsi un message de 75 caractères tient sur un segment en GSM-7 mais deux en UCS-2. Un SMS promotionnel de 160 caractères avec un emoji passe d'un segment à trois. L'encodage est le plus grand facteur contrôlable du coût par message.

Seuils de segments
SegmentsCaractères GSM-7Caractères UCS-2
11 – 1601 – 70
2161 – 30671 – 134
3307 – 459135 – 201
n (n ≥ 2)153 × n67 × n
§04

Maîtrise pratique des coûts

Trois habitudes rendent le coût du SMS prévisible. D'abord, validez et nettoyez les caractères de chaque message sortant, en signalant tout ce qui force l'UCS-2. Ensuite, gardez les modèles dans un seul segment GSM-7 (≤ 160 caractères) partout où le message le permet. Enfin, mesurez le nombre de segments réalisé par message et par campagne, car c'est cela — et non le nombre de caractères — qui vous est facturé. Un calculateur de segments rend l'arbitrage visible avant l'envoi.

FAQ

Questions fréquemment posées

Comment savoir si mon SMS est GSM-7 ou UCS-2 ?

Comparez chaque caractère à l'alphabet GSM-7. Si tous les caractères sont dans la table de base ou d'extension GSM-7, c'est du GSM-7 ; s'il en manque un seul, le message entier est en UCS-2. Un vérificateur GSM-7/Unicode automatise cela et met en évidence les caractères fautifs.

Combien me coûte un emoji dans un SMS ?

Potentiellement beaucoup. Un emoji force le message entier en UCS-2, faisant chuter la capacité de 160 à 70 caractères. Un message de 160 caractères avec un seul emoji passe d'un segment à trois, triplant grosso modo le coût.

Comment un SMS multi-segments est-il facturé ?

Chaque segment est facturé comme un SMS distinct. Un message qui se découpe en trois parties est facturé comme trois messages. C'est pourquoi l'encodage, qui fixe la capacité par segment, est le plus grand levier sur le coût.

Comment garder mes messages en GSM-7 ?

Nettoyez l'entrée avant l'envoi : remplacez guillemets courbes et tirets par des équivalents ASCII, supprimez les emoji, et translittérez les accents parasites quand c'est acceptable. Gardez les modèles sous 160 caractères GSM-7 pour qu'ils restent sur un segment.

Est-ce le nombre de caractères ou de segments qui détermine le coût ?

Le nombre de segments. Deux messages de même nombre de caractères peuvent coûter des montants différents si l'un utilise l'UCS-2. Mesurez toujours les segments réalisés par message, pas la longueur brute en caractères.

Références

Spécifications sources

Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.

BNMaintenu par l'équipe d'ingénierie BroadNet·Messagerie de qualité opérateur depuis 2003
Placez-le sur le fil

Conçu avec une véritable liaison SMPP et une API REST.

Demandez un accès de test avec de véritables clés de test : envoyez d’abord à votre propre numéro vérifié, puis passez en production dans plus de 200 pays une fois que votre identité d’expéditeur et vos routes seront approuvées.