BroadNet
Codifica SMSCosto

Rilevamento della codifica e costo degli SMS

Aggiornato il 3 min di letturaBasato su standard
Risposta diretta

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.

§01

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

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 scatenanteSostituzione 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)
§03

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
SegmentiCaratteri GSM-7Caratteri UCS-2
11 – 1601 – 70
2161 – 30671 – 134
3307 – 459135 – 201
n (n ≥ 2)153 × n67 × n
§04

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.

FAQ

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.

Riferimenti

Specifiche della fonte

Gli standard pubblicati su cui si basa questa pagina. Si apre in una nuova scheda.

BNGestito dal team di ingegneri BroadNet·Servizi di messaggistica di livello carrier dal 2003
Mettilo sul filo

Realizzato con un vero binding SMPP e un'API REST.

Richiedi l'accesso di prova con chiavi di test reali: invia prima al tuo numero verificato, poi passa alla produzione in oltre 200 paesi una volta approvata l'identità del mittente e i percorsi.