# Rilevamento della codifica e costo degli SMS

> Rilevare la codifica significa verificare se ogni carattere è nell'alfabeto GSM-7; se anche uno solo non lo è, l'intero messaggio diventa UCS-2 e la capacità scende da 160 a 70 caratteri. Poiché gli SMS sono fatturati per segmento, una singola emoji o virgoletta curva spuria può raddoppiare o triplicare il costo di un messaggio.

- URL canonico: https://www.broadnet.me/it/reference/encoding-detection-and-cost
- Lingua: it
- Ultimo aggiornamento: 2026-07-18
- Editore: BroadNet (https://www.broadnet.me)

Come rilevare se un testo è GSM-7 o UCS-2, quali caratteri impongono silenziosamente UCS-2 e come la codifica determina il numero di segmenti — e quindi il costo — di ogni SMS che inviate.

## Come rilevare GSM-7 vs UCS-2

La regola è semplice e assoluta: se ogni carattere del messaggio è presente nella tabella base o di estensione GSM-7, il messaggio può essere inviato come GSM-7; se un carattere qualsiasi non lo è, l'intero messaggio deve usare UCS-2. Il rilevamento è quindi un test di appartenenza all'insieme dell'alfabeto GSM-7, applicato all'intera stringa, ricordando che i dieci caratteri di estensione contano due settetti ciascuno.

*Logica di rilevamento*

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

## I caratteri che impongono silenziosamente UCS-2

I caratteri costosi sono quelli che gli utenti introducono senza accorgersene. Gli elaboratori di testi e i telefoni sostituiscono automaticamente virgolette e trattini semplici con versioni tipografiche non presenti in GSM-7. Le emoji non sono mai in GSM-7. I nomi non latini e qualsiasi lettera accentata esterna al set di accenti GSM-7 fanno lo stesso. Sanificarli prima dell'invio — sostituendo la punteggiatura tipografica con ASCII, traslitterando dove accettabile — mantiene i messaggi su GSM-7.

*Trigger silenziosi comuni di UCS-2 e sostituzioni sicure*

| Carattere scatenante | Sostituzione sicura GSM-7 |
|---|---|
| ' ' (virgolette singole curve) | ' (apostrofo dritto) |
| “ ” (virgolette doppie curve) | " (virgolette dritte) |
| – — (trattino en/em) | - (trattino) |
| … (puntini di sospensione) | ... (tre punti) |
| emoji | (rimuovere o descrivere a parole) |
| spazio non interruttibile | (spazio normale) |

## Come la codifica determina il numero di segmenti

Gli SMS sono addebitati per segmento e la codifica stabilisce quanti segmenti richiede un messaggio. Le soglie sono fisse: GSM-7 dà 160 in un segmento poi 153 per parte; UCS-2 dà 70 poi 67. Così un messaggio di 75 caratteri è un segmento in GSM-7 ma due in UCS-2. Un SMS promozionale di 160 caratteri con una emoji passa da uno a tre segmenti. La codifica è il maggior fattore controllabile del costo per messaggio.

*Soglie dei segmenti*

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

## Controllo pratico dei costi

Tre abitudini rendono prevedibile il costo degli SMS. Primo, validate e sanificate i caratteri di ogni messaggio in uscita, segnalando qualsiasi cosa imponga UCS-2. Secondo, mantenete i template entro un singolo segmento GSM-7 (≤160 caratteri) ovunque il messaggio lo consenta. Terzo, misurate il numero effettivo di segmenti per messaggio e per campagna, poiché è quello — non il conteggio dei caratteri — ciò che vi viene fatturato. Un calcolatore di segmenti rende visibile il compromesso prima dell'invio.

## Domande frequenti

### Come faccio a sapere se il mio SMS è GSM-7 o UCS-2?

Verificate ogni carattere rispetto all'alfabeto GSM-7. Se tutti i caratteri sono nella tabella base o di estensione GSM-7, è GSM-7; se un singolo carattere non lo è, l'intero messaggio è UCS-2. Un verificatore GSM-7/Unicode automatizza il controllo ed evidenzia i caratteri problematici.

### Quanto mi costa una emoji in un SMS?

Potenzialmente molto. Una emoji impone l'intero messaggio a UCS-2, riducendo la capacità da 160 a 70 caratteri. Un messaggio di 160 caratteri con una sola emoji passa da uno a tre segmenti, triplicandone all'incirca il costo.

### Come viene fatturato un SMS multi-segmento?

Ogni segmento è fatturato come un SMS separato. Un messaggio che si divide in tre parti è addebitato come tre messaggi. Per questo la codifica, che stabilisce la capacità per segmento, è la maggior leva sul costo.

### Come posso mantenere i messaggi su GSM-7?

Sanificate l'input prima dell'invio: sostituite virgolette curve e trattini con equivalenti ASCII, rimuovete le emoji e traslitterate gli accenti spuri dove accettabile. Mantenete i template entro 160 caratteri GSM-7 così da restare in un solo segmento.

### È il numero di caratteri o di segmenti a determinare il costo?

Il numero di segmenti. Due messaggi con lo stesso numero di caratteri possono costare importi diversi se uno usa UCS-2. Misurate sempre i segmenti effettivi per messaggio, non la lunghezza grezza in caratteri.

## Fonti

- [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)

## Correlati

- [Il set di caratteri GSM-7](https://www.broadnet.me/it/reference/gsm7-character-set)
- [UCS-2 e SMS Unicode](https://www.broadnet.me/it/reference/ucs2-unicode-sms)
- [Segmentazione SMS e UDH](https://www.broadnet.me/it/reference/sms-segmentation-concatenation-udh)
- [Calcolatore di segmenti SMS (strumento gratuito)](https://www.broadnet.me/it/tools/sms-segment-calculator)
- [Verificatore GSM-7 / Unicode (strumento gratuito)](https://www.broadnet.me/it/tools/gsm7-unicode-checker)
