API de Mensajería

Referencia de caracteres GSM-7 y guía de codificación

Consulta qué caracteres admite GSM-7, cuáles cuentan doble y cómo afectan la segmentación y la facturación de tus SMS.

API de Mensajería
Necesitas una clave de API. Pídela a nuestro equipo de soporte o créala desde la plataforma.

Descripción general

El conjunto de caracteres GSM-7 es la codificación predeterminada utilizada para la mayoría de los mensajes SMS en todo el mundo.

Define un conjunto estándar de caracteres que pueden transmitirse de forma eficiente utilizando codificación de 7 bits, lo que permite enviar hasta 160 caracteres por SMS.

Cuando un mensaje incluye caracteres que no pertenecen a este conjunto, el sistema cambia automáticamente a Unicode (UCS-2), reduciendo el límite máximo a 70 caracteres por SMS.

Esta página ofrece una referencia completa de los caracteres compatibles con GSM-7, detalla los caracteres extendidos (de doble longitud) y explica cómo estos afectan la segmentación y la facturación de los mensajes.

Conjunto de caracteres estándar GSM-7

La siguiente tabla muestra los caracteres básicos del alfabeto GSM-7, junto con su valor hexadecimal (HEX) y su equivalente ISO-8859-1. Cada uno de estos caracteres consume una unidad dentro del límite de 160 caracteres de un SMS.

HEXNombre del carácterCarácterISO-8859-1 Hex
0x00COMMERCIAL AT@40
0x01POUND SIGN£A3
0x02DOLLAR SIGN$24
0x03YEN SIGN¥A5
0x04LATIN SMALL LETTER E WITH GRAVEèE8
0x05LATIN SMALL LETTER E WITH ACUTEéE9
0x06LATIN SMALL LETTER U WITH GRAVEùF9
0x07LATIN SMALL LETTER I WITH GRAVEìEC
0x08LATIN SMALL LETTER O WITH GRAVEòF2
0x09LATIN CAPITAL LETTER C WITH CEDILLAÇC7
0x0BLATIN CAPITAL LETTER O WITH STROKEØD8
0x0CLATIN SMALL LETTER O WITH STROKEøF8
0x0ELATIN CAPITAL LETTER A WITH RING ABOVEÅC5
0x0FLATIN SMALL LETTER A WITH RING ABOVEåE5
0x10GREEK CAPITAL LETTER DELTAΔN/A
0x11LOW LINE_5F
0x12GREEK CAPITAL LETTER PHIΦN/A
0x13GREEK CAPITAL LETTER GAMMAΓN/A
0x14GREEK CAPITAL LETTER LAMBDAΛN/A
0x15GREEK CAPITAL LETTER OMEGAΩN/A
0x16GREEK CAPITAL LETTER PIΠN/A
0x17GREEK CAPITAL LETTER PSIΨN/A
0x18GREEK CAPITAL LETTER SIGMAΣN/A
0x19GREEK CAPITAL LETTER THETAΘN/A
0x1AGREEK CAPITAL LETTER XIΞN/A
0x20 a 0x7ELetras latinas, dígitos y signos comunesA–Z, a–z, 0–9, y símbolos como !, ?, #, &, etc.N/A

Para consultar la tabla completa, ver la especificación GSM 03.38. En la tabla, N/A indica que el documento original no registra equivalente ISO-8859-1.

Caracteres extendidos GSM-7 (doble longitud)

Algunos caracteres dentro del conjunto GSM-7 requieren una secuencia de escape (0x1B) y, por lo tanto, cuentan como dos caracteres dentro del límite del mensaje. Estos se conocen como caracteres de 14 bits, ya que se representan mediante un código de escape más el código del carácter.

Carácter extendidoSecuencia de codificaciónCuenta comoDescripción
^0x1B0A2Acento circunflejo
{0x1B142Llave izquierda
}0x1B282Llave derecha
\0x1B292Barra invertida (backslash)
[0x1B2F2Corchete izquierdo
~0x1B3C2Virgulilla
]0x1B3D2Corchete derecho
(carácter no visible en el original)0x1B402Sin descripción en el original
€0x1B652Símbolo de euro

Importante: cada vez que se usa uno de estos caracteres, cuenta como dos caracteres en el cálculo total del mensaje.

Cálculo de caracteres y facturación

La facturación del SMS depende del número total de caracteres, incluyendo los espacios y los caracteres extendidos.

Tipo de codificaciónMáx. caracteres (un SMS)Máx. caracteres por segmento (concatenado)
GSM-7160153
Unicode (UCS-2)7067

Al usar caracteres extendidos, cuenta dos unidades por cada uno de ellos al calcular la longitud total del mensaje.

Ejemplo

Mensaje:

Tu saldo es de €100. Por favor confirma la transacción.
  • Total de caracteres visibles: 43
  • Carácter extendido: € (cuenta como 2)
  • Total ajustado: 44
  • Como está por debajo de 160, el mensaje se enviará en un solo SMS.

Fórmula de cálculo para SMS concatenados

Para mensajes que superen los 160 caracteres:

Número de SMS = Math.Ceiling(total_caracteres / 153)

Ejemplo: si un mensaje tiene 344 caracteres (contando los caracteres dobles):

344 / 153 = 2.25 → redondeado hacia arriba = 3 SMS

El mensaje será facturado como tres SMS.

Compatibilidad de codificación en archivos FTP

Cuando se suben archivos de mensajes mediante FTP, la compatibilidad de los caracteres depende del formato de codificación del archivo. Todos los archivos deben ser compatibles con el conjunto básico de caracteres GSM-7.

CompatibleNo compatible
Letras A–Z, a–z, números 0–9, espacios y puntuación GSM-7Caracteres no latinos, emojis, símbolos fuera del GSM-7
Ejemplos: @, #, !, &, +, :Ejemplos: é, ñ, , ß

Si se detectan caracteres no soportados, el mensaje puede convertirse automáticamente a Unicode (UCS-2) o truncarse.

Saltos de línea en SMS

Los saltos de línea pueden insertarse utilizando el carácter de barra vertical (|), cuando la plataforma lo soporte. Este símbolo actúa como separador de línea dentro del texto de un SMS o de una plantilla enviada por FTP.

Ejemplo:

Gracias por tu compra!|
Tu pedido llegará pronto.

Se mostrará en el teléfono como:

Gracias por tu compra!
Tu pedido llegará pronto.

Buenas prácticas

  • Verifica el tipo de codificación antes de enviar tus mensajes.
  • Evita caracteres fuera del conjunto GSM-7 para prevenir la conversión a Unicode.
  • Considera que los caracteres ^, {, }, €, y otros similares cuentan como dos.
  • Usa acortadores de enlaces para reducir el número de caracteres.
  • Prueba tus mensajes en la plataforma antes de realizar envíos masivos.

Resumen

GSM-7 permite codificar mensajes SMS de manera eficiente usando 7 bits por carácter. Sin embargo, algunos símbolos extendidos requieren dos bytes, reduciendo el espacio disponible en un solo mensaje.

Comprender qué caracteres están soportados y cómo se codifican te ayuda a optimizar tus mensajes, garantizar una entrega más eficiente y controlar los costos de tus campañas SMS.

AnteriorReanudar un proceso de reenvío: ejemplo y respuestasSiguienteValidar palabra clave: notas y ejemplos
¿Te sirvió esta página?