UCS-2

La codificación SMS de 16 bits usada para la mayoría de los emoji y alfabetos no latinos: 70 caracteres por segmento y 67 al concatenar.

Solo definiciones: un término explicado aquí no es un servicio que vendamos.

UCS-2 codifica casi cualquier alfabeto a 16 bits por carácter, lo que reduce un segmento de SMS a 70 caracteres. Un carácter fuera del alfabeto GSM-7 (la mayoría de los emoji y de los alfabetos no latinos) hace que todo el mensaje pase a UCS-2.

La codificación se elige por mensaje, así que un carácter fuera de GSM-7 cambia todo el texto.

Codificación, unidades y segmentos

Codificación
UCS-2
Caracteres
22
Unidades
23
Segmentos
1
La codificación de un mensaje de ejemplo, su número de caracteres, su tamaño en unidades de código y su número de segmentos.
Descripción en texto

La figura enumera la codificación elegida para un mensaje de ejemplo, su número de caracteres, su tamaño en unidades de codificación y el número de segmentos que ese tamaño requiere. En UCS-2, las unidades son unidades de código de 16 bits.

Cómo se elige la codificación

El SMS empieza en GSM-7. Un carácter fuera de ese alfabeto lleva el mensaje a UCS-2, o a otra codificación que admita la red. El cambio abarca todo el mensaje, así que los caracteres que caben en GSM-7 también ocupan dos bytes.

Un segmento admite 70 caracteres, porque 140 bytes divididos entre dos bytes por carácter dejan 70. Un emoji del plano suplementario necesita dos unidades de código UTF-16, y en la práctica los teléfonos y centros usan UTF-16, así que un texto cargado de emoji admite menos caracteres; el UCS-2 estricto no puede codificarlo en absoluto. La calculadora de segmentos de SMS muestra el recuento.

Preguntas frecuentes

¿UCS-2 es lo mismo que UTF-16?

Se parecen, pero no son idénticos. UCS-2 usa una unidad fija de 16 bits; UTF-16 usa pares sustitutos fuera del plano básico, y en la práctica los teléfonos y centros envían UTF-16.

¿Cuántos caracteres caben en un segmento UCS-2?

Setenta sin cabecera de datos de usuario y sesenta y siete con ella. Un emoji del plano suplementario ocupa dos unidades de código UTF-16 y no puede codificarse en UCS-2 estricto.

¿Qué idiomas necesitan UCS-2?

Muchos alfabetos no latinos, y cualquier texto con caracteres fuera de GSM-7. Algunas letras latinas acentuadas ya lo necesitan.

Más información

Fuentes

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