UCS-2

La codifica SMS a 16 bit usata per la maggior parte delle emoji e degli alfabeti non latini: 70 caratteri per segmento, 67 se concatenato.

Solo definizioni — un termine spiegato qui non è un servizio che vendiamo.

UCS-2 codifica quasi ogni sistema di scrittura a 16 bit per carattere, il che riduce un segmento SMS a 70 caratteri. Un solo carattere al di fuori dell’alfabeto GSM-7 (la maggior parte delle emoji e degli alfabeti non latini) porta l’intero messaggio in UCS-2.

La codifica si sceglie per messaggio, quindi un solo carattere al di fuori di GSM-7 cambia l’intero testo.

Codifica, unità e segmenti

Codifica
UCS-2
Caratteri
22
Unità
23
Segmenti
1
La codifica, il numero di caratteri, la dimensione in unità di codice e il numero di segmenti di un messaggio di esempio.
Descrizione testuale

La figura elenca la codifica scelta per un messaggio di esempio, il numero di caratteri, la dimensione in unità di codifica e il numero di segmenti necessari per quella dimensione. In UCS-2 le unità sono unità di codice a 16 bit.

Come si sceglie la codifica

Gli SMS partono in GSM-7. Un carattere al di fuori di quell’alfabeto sposta il messaggio in UCS-2, o in un’altra codifica supportata dalla rete. Il passaggio riguarda l’intero messaggio, quindi anche i caratteri compatibili con GSM-7 occupano due byte.

Un segmento contiene 70 caratteri, perché 140 byte divisi per due byte per carattere danno 70. Un’emoji del piano supplementare richiede due unità di codice UTF-16, e nella pratica terminali e centri inviano UTF-16, quindi un testo ricco di emoji contiene meno caratteri; UCS-2 in senso stretto non può codificarla affatto. Il calcolatore di segmenti SMS mostra il conteggio.

Domande frequenti

UCS-2 è la stessa cosa di UTF-16?

Simile ma non identico. UCS-2 usa un’unità fissa a 16 bit; UTF-16 usa coppie surrogate al di fuori del piano di base, e nella pratica terminali e centri inviano UTF-16.

Quanti caratteri entrano in un segmento UCS-2?

Settanta senza user data header, sessantasette con. Un’emoji del piano supplementare occupa due unità di codice UTF-16 e non può essere codificata in UCS-2 in senso stretto.

Quali lingue richiedono UCS-2?

Molti alfabeti non latini e qualsiasi testo con caratteri al di fuori di GSM-7. Alcune lettere latine accentate lo richiedono già.

Scopra di più

Fonti

  1. 3GPP TS 23.038: alfabeti e informazioni specifiche per lingua per gli SMS