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

> 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.

- URL canonique: https://www.broadnet.me/fr/reference/encoding-detection-and-cost
- Langue: fr
- Dernière mise à jour: 2026-07-18
- Éditeur: BroadNet (https://www.broadnet.me)

Comment détecter si un texte est GSM-7 ou UCS-2, quels caractères forcent silencieusement l'UCS-2, et comment l'encodage pilote le nombre de segments — et donc le coût — de chaque SMS que vous envoyez.

## 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étection*

```text
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
```

## 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éclencheur | Remplacement 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) |

## 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*

| Segments | Caractères GSM-7 | Caractères UCS-2 |
|---|---|---|
| 1 | 1 – 160 | 1 – 70 |
| 2 | 161 – 306 | 71 – 134 |
| 3 | 307 – 459 | 135 – 201 |
| n (n ≥ 2) | 153 × n | 67 × n |

## 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.

## Questions fréquentes

### 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.

## Sources

- [3GPP TS 23.038 — alphabets and data coding](https://www.3gpp.org/dynareport/23038.htm)
- [3GPP TS 23.040 — SMS technical realization](https://www.3gpp.org/dynareport/23040.htm)

## Voir aussi

- [Le jeu de caractères GSM-7](https://www.broadnet.me/fr/reference/gsm7-character-set)
- [UCS-2 et SMS Unicode](https://www.broadnet.me/fr/reference/ucs2-unicode-sms)
- [Segmentation SMS et UDH](https://www.broadnet.me/fr/reference/sms-segmentation-concatenation-udh)
- [Calculateur de segments SMS (outil gratuit)](https://www.broadnet.me/fr/tools/sms-segment-calculator)
- [Vérificateur GSM-7 / Unicode (outil gratuit)](https://www.broadnet.me/fr/tools/gsm7-unicode-checker)
