UCS-2

A codificação SMS de 16 bits usada para a maioria dos emoji e alfabetos não latinos: 70 caracteres por segmento e 67 quando concatenados.

Apenas definições: um termo explicado aqui não é um serviço que vendemos.

O UCS-2 codifica quase qualquer alfabeto a 16 bits por caractere, o que reduz um segmento de SMS a 70 caracteres. Um caractere fora do alfabeto GSM-7 (a maioria dos emoji e dos alfabetos não latinos) leva a mensagem inteira para UCS-2.

A codificação é escolhida por mensagem, então um caractere fora do GSM-7 altera o texto inteiro.

Codificação, unidades e segmentos

Codificação
UCS-2
Caracteres
22
Unidades
23
Segmentos
1
A codificação de uma mensagem de exemplo, sua contagem de caracteres, seu tamanho em unidades de código e sua contagem de segmentos.
Descrição em texto

A figura lista a codificação escolhida para uma mensagem de exemplo, sua contagem de caracteres, seu tamanho em unidades de codificação e o número de segmentos que esse tamanho exige. No UCS-2, as unidades são unidades de código de 16 bits.

Como a codificação é escolhida

O SMS começa em GSM-7. Um caractere fora desse alfabeto leva a mensagem para UCS-2, ou para outra codificação que a rede suporte. A mudança abrange a mensagem inteira, então caracteres que cabem no GSM-7 também passam a ocupar dois bytes.

Um segmento comporta 70 caracteres, porque 140 bytes divididos por dois bytes por caractere deixam 70. Um emoji do plano suplementar precisa de duas unidades de código UTF-16, e na prática aparelhos e centros usam UTF-16, então um texto cheio de emoji comporta menos caracteres; o UCS-2 estrito não consegue codificá-lo de forma alguma. A calculadora de segmentos de SMS mostra a contagem.

Perguntas frequentes

O UCS-2 é a mesma coisa que UTF-16?

São parecidos, mas não idênticos. O UCS-2 usa uma unidade fixa de 16 bits; o UTF-16 usa pares substitutos fora do plano básico, e na prática aparelhos e centros enviam UTF-16.

Quantos caracteres cabem em um segmento UCS-2?

Setenta sem cabeçalho de dados do usuário e sessenta e sete com ele. Um emoji do plano suplementar ocupa duas unidades de código UTF-16 e não pode ser codificado em UCS-2 estrito.

Quais idiomas precisam de UCS-2?

Muitos alfabetos não latinos, e qualquer texto com caracteres fora do GSM-7. Algumas letras latinas acentuadas já precisam dele.

Saiba mais

Fontes

  1. 3GPP TS 23.038: alphabets and language-specific information for SMS