Emoticonos y Emoji en mensajes SMS

Fecha de publicación: 2019-06-03
Última actualización: 2019-12-24
Autor: Victor Celer

Los mensajes SMS de texto pueden incluir caritas sonrientes, banderas u otros pictogramas, por ejemplo:

SMS con emoticonos

Estos pictogramas se basan en Unicode, la gran mayoría de los teléfonos móviles actuales soportan correctamente esta funcionalidad. Casi todos los teléfonos fabricados a partir del año 2010 soportan al menos los pictogramas mas básicos. La siguiente tabla resume la disponibilidad de emoticonos en diferentes teléfonos inteligentes:

Android Soporta la mayoría de los emoticonos y emoji a partir de Android 4.3.
iOS Soporta la mayoría de los emoticonos y emoji a partir de iPhone 4.
Windows Phone Soporta la mayoría de los emoticonos y emoji, excepto las banderas.

 

Para soportar emoticonos la codificación del SMS debe ser UCS2 Big Endian. Bajo esta codificación cada caracter y cada pictograma ocupa 2 bytes. Aunque la mayor parte del mensaje consista de caracteres latinos, cada uno de estos caracteres ocupará 2 bytes debido a la codificación universal. El tamaño máximo de un SMS es de 140 bytes en cualquier red GSM/UMTS/LTE. Si el mensaje contiene emoticonos la longitud máxima sería 140 / 2 = 70 caracteres. Tenga en cuenta que las banderas de paises son codificadas usando 2 caracteres = 4 bytes. Esto se debe a que la codificación de banderas consiste en los "indicadores regionales" normalizados en ISO 3166-1. Si el terminal soporta Unicódigo, pero no soporta la bandera específica, entonces en su lugar se despliega el indicador regional del país.

Si la longitud del mensaje excede la capacidad del SMS es posible usar concatenación. A veces, especialmente en roaming, los mensajes SMS Unicódigo concatenados pueden aparecer distorcionados en la pantalla del terminal. Este problema se debe a que el terminal puede comenzar a desplegar el mensaje tan pronto recibe el primer fragmento, pero el primer fragmento recibido no necesariamente es el primer fragmento de la secuencia. La red puede alterar el orden de los fragmentos y algunos mensajes pueden llegar en desorden, repetidos o no llegar nunca. Para prevenir este comportamiento puede ser conveniente evitar la concatenación. Por ejemplo, un mensaje largo puede ser separado en varios mensajes mas cortos independientes (sin concatenación).

Si desea componer un SMS con emoticonos usando un editor de texto verifique que Unicódigo esté soportado y la codificación sea UCS2 Big Endian. Por ejemplo, el procesador de texto gratuito Notepad++ soporta estas funcionalidades:

Interfaz de Notepad++

Aquí puede encontrar varios emoticonos de referencia. Sólamente hay que hacer clic sobre el pictograma y usar Ctrl+C / Ctrl+V para pegarlo en el procesador de texto.

Si abre el archivo con el mensaje Unicódigo usando su editor hexadecima favorito notará la secuencia FEFF. Esta secuencia es conocida como Byte Order Mark (BOM) y ¡no debe ser incluida en el mensaje SMS! El resto del contenido del archivo es exactamente lo que se debe de enviar como mensaje SMS Unicódigo.

UCS2 con BOM en hexa

Recuerde probar el mensaje en un terminal real o varios terminales diferentes, ya que la apariencia del mensaje puede variar dependiendo del terminal.