GSM 03.38

Codificación de caracteres

En telefonía móvil, GSM 03.38 o 3GPP 23.038 es una codificación de caracteres utilizada en redes GSM para SMS (Short Message Service), CB ( Cell Broadcast ) y USSD (Unstructured Supplementary Service Data). El estándar 3GPP TS 23.038 (originalmente la recomendación GSM 03.38) define el alfabeto GSM predeterminado de 7 bits que es obligatorio para los teléfonos móviles y elementos de red GSM, [1] pero el conjunto de caracteres es adecuado solo para inglés y varios idiomas de Europa occidental. Los idiomas como el chino, el coreano o el japonés deben transferirse utilizando la codificación de caracteres UCS-2 de 16 bits. Un número limitado de idiomas, como el portugués , el español , el turco y varios idiomas utilizados en la India escritos con escrituras brahmicas pueden utilizar la codificación de 7 bits con la tabla de cambio de idioma nacional definida en 3GPP 23.038. Para mensajes binarios , se utiliza la codificación de 8 bits.

Alfabeto GSM de 7 bits predeterminado y tabla de extensión de 3GPP TS 23.038 / GSM 03.38

La codificación estándar para los mensajes GSM es el alfabeto predeterminado de 7 bits, tal como se define en la recomendación 23.038.

Los caracteres de siete bits deben codificarse en octetos siguiendo uno de los tres modos de empaquetado:

  • CBS: utilizando esta codificación, es posible enviar hasta 93 caracteres (comprimidos en hasta 82 octetos) en un mensaje SMS en un servicio de difusión celular.
  • SMS: utilizando esta codificación, es posible enviar hasta 160 caracteres (comprimidos en hasta 140 octetos) en un mensaje SMS en la red GSM.
  • USSD: utilizando esta codificación, es posible enviar hasta 182 caracteres (comprimidos en hasta 160 octetos) en un mensaje SMS de datos de servicio suplementario no estructurados.
Conjunto de caracteres básicos [2]
 0x000x100x200x300x400x500x600x70
0x00@ΔES0¡PAG¿pag
0x01£_!1AQaq
0x02$Φ"2BRba
0x03¥Γ#3doSdos
0x04miO¤4Dyoda
0x05miOhmio%5mimi
0x06UnP&6FVFen
0x07iO'7GRAMOYogramoel
0x08oΣ(8yoincógnitayoincógnita
0x09DOO)9IYiy
0x0ASiO*:YoOyoel
0x0BØESC+;KAaa
0x0CøA,<yoOyoo
0x0DESa-=METRONORTEmetronorte
0x0EAß.>norteUnorteü
0x0FaMI/?Oh§oa
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un escape a la tabla de extensión (se asigna a NBSP).
  • SP es un personaje espacial.
Extensión del conjunto de caracteres básicos [2]
 0x000x100x200x300x400x500x600x70
0x00    |   
0x01        
0x02        
0x03        
0x04 ^      
0x05       
0x06        
0x07        
0x08  {     
0x09  }     
0x0AFF       
0x0B SS2      
0x0C   [    
0x0DCR2  ~    
0x0E   ]    
0x0F  \     
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Es importante (especialmente cuando se va a segmentar un mensaje utilizando el mecanismo de SMS concatenado ) que los caracteres de la tabla del conjunto de caracteres básicos ocupen un septeto y los caracteres de la tabla de extensión del conjunto de caracteres básicos ocupen dos septetos.

Tenga en cuenta que la segunda parte de la tabla solo es accesible si el dispositivo GSM admite el mecanismo de extensión de 7 bits, utilizando el prefijo del carácter ESC. De lo contrario, el código ESC en sí se interpreta como un espacio y el carácter siguiente se tratará como si no hubiera ningún código ESC inicial.

La mayor parte de la parte alta de la tabla no se utiliza en el conjunto de caracteres predeterminado, pero el estándar GSM define algunos indicadores de código de idioma que permiten al sistema identificar variantes nacionales de esta parte, para admitir más caracteres que los que se muestran en la tabla anterior.

En un mensaje de texto GSM estándar, todos los caracteres se codifican utilizando unidades de código de 7 bits, empaquetadas juntas para llenar todos los bits de los octetos. Así, por ejemplo, el sobre de 140 octetos de un SMS [3] , sin ningún otro indicador de idioma excepto solo el prefijo de clase estándar, puede transportar hasta (140*8)/7=160, es decir, 160 caracteres GSM de 7 bits (pero tenga en cuenta que el código ESC cuenta como uno de ellos, si se utilizan caracteres en la parte superior de la tabla).

Se pueden enviar mensajes más largos, pero requerirán un prefijo de continuación y un número de secuencia en los mensajes SMS posteriores (estos bytes de prefijo y número de secuencia se cuentan dentro de la longitud máxima de la carga útil de 140 octetos del formato de sobre).

Cuando hay entre 1 y 6 bits de repuesto en el último octeto de un mensaje, estos bits se ponen a cero (estos bits no cuentan como un carácter, sino solo como relleno). Cuando hay 7 bits de repuesto en el último octeto de un mensaje, estos bits se ponen al código de 7 bits del control CR (también se utiliza como relleno) en lugar de ponerse a cero (donde se confundirían con el código de 7 bits de un carácter '@').

Esta codificación de 7 bits permite el transporte de textos que consisten en caracteres imprimibles del latín básico (bloque Unicode) (con la excepción del acento grave/acento invertido), así como algunos caracteres del conjunto de caracteres ISO Latin 1. También permite la codificación de textos escritos en el alfabeto griego, pero solo en mayúsculas; para tal uso en griego, las letras mayúsculas latinas que se parecen a las letras griegas se reutilizan con el mismo código, de modo que el conjunto de caracteres anterior está completo solo para el griego monótono moderno restringido a letras mayúsculas. Un soporte completo para el alfabeto griego (incluidas las letras minúsculas) requiere una versión nacional de la tabla desplazada de 7 bits (utilizando el código ESC para cada carácter nacional codificado en esta tabla desplazada), o una codificación propietaria de 8 bits no especificada, o el uso de la codificación UCS-2 (ver más abajo).

Tenga en cuenta que el código especial marcado SS2 en la tabla anterior también se ha asignado (y codificado como 0x1B,0x1B) para permitir el uso de otra tabla de desplazamiento de 7 bits alternativa. Pero este mecanismo nunca se ha utilizado y se ha preferido la codificación UCS-2.

Téngase en cuenta que el carácter 0x09 ( Ç , C mayúscula con cedilla) debe reemplazarse por ç (c minúscula con cedilla) en la implementación moderna, como lo recomienda Unicode, [4] ya que la versión en mayúsculas es de poca utilidad.

Codificación de datos GSM de 8 bits

El modo de codificación de datos de 8 bits trata la información como datos sin procesar. Según el estándar, el alfabeto para esta codificación es específico del usuario.

Codificación UCS-2

Esta codificación permite el uso de una mayor variedad de caracteres e idiomas. UCS-2 puede representar los caracteres latinos y orientales más utilizados a costa de un mayor gasto de espacio. Estrictamente hablando, UCS-2 está limitado a caracteres en el Plano Multilingüe Básico . Sin embargo, dado que los entornos de programación modernos no proporcionan codificadores o decodificadores para UCS-2, algunos teléfonos móviles (por ejemplo, iPhones ) utilizan UTF-16 en lugar de UCS-2. [5] Esto funciona, porque para los caracteres en el Plano Multilingüe Básico (incluidos los alfabetos completos de la mayoría de los idiomas humanos modernos) las codificaciones UCS-2 y UTF-16 son idénticas. Para codificar caracteres fuera del BMP (inalcanzables en UCS-2 simple), como Emoji , UTF-16 utiliza pares sustitutos , que cuando se decodifican con UCS-2 aparecerían como dos puntos de código válidos pero no mapeados .

Un solo mensaje SMS GSM que utilice esta codificación puede tener como máximo 70 caracteres (140 octetos).

Tenga en cuenta que en muchos teléfonos móviles GSM no existe una preselección específica de la codificación UCS-2. El valor predeterminado es utilizar la codificación de 7 bits descrita anteriormente, hasta que se introduce un carácter que no está presente en la tabla de 7 bits GSM (por ejemplo, la "a" minúscula con á). En ese caso, todo el mensaje se vuelve a codificar utilizando la codificación UCS-2 y la longitud máxima del mensaje enviado en un único SMS se reduce inmediatamente a 70 caracteres, en lugar de 160. Otros varían en función de la elección y configuración de la aplicación SMS y de la longitud del mensaje [ cita requerida ] .

Para evitar costes inesperados para los remitentes que tienen una suscripción a un paquete limitado de SMS enviados, las aplicaciones deberían [ ¿según quién? ] mostrar el número de caracteres utilizados y el número máximo de caracteres en el SMS compuesto. Cuando un mensaje excede este máximo, el mensaje se [ aclaración necesaria ] enviará como múltiples SMS sucesivos que contienen partes del mensaje (cada una de ellas contiene un número de secuencia, que también utiliza algunos caracteres iniciales en cada parte); estas partes están destinadas a ser [ cita requerida ] reensambladas más tarde por el destinatario.

Algunas aplicaciones alertan al usuario cuando es necesario dividir un mensaje o incluso envían un mensaje más largo como mensaje multimedia (MMS).

Tablas de cambios de idioma nacionales

Desde la versión 8 del estándar 3GPP 23.038 de marzo de 2008, se puede acceder a conjuntos de caracteres adicionales mediante el uso de tablas de cambio de idioma nacional.

Estas tablas permiten utilizar diferentes conjuntos de caracteres según el idioma en el que se va a escribir el texto. La elección de la tabla para un mensaje determinado se selecciona en la sección Encabezado de datos de usuario de un mensaje SMS y se puede especificar para todo el texto (una tabla de desplazamiento con bloqueo que reemplaza la tabla del alfabeto predeterminado de 7 bits GSM estándar) o para un solo carácter ( una tabla de desplazamiento simple que reemplaza la tabla de extensión del alfabeto predeterminado de 7 bits GSM). Es posible utilizar juntas las tablas de desplazamiento con bloqueo y de desplazamiento simple en el mismo mensaje si se deben reemplazar tanto la tabla del alfabeto predeterminado estándar como la tabla de extensión del alfabeto predeterminado.

Si se utiliza una tabla de desplazamiento, un mensaje puede seguir utilizando una codificación de 7 bits para los caracteres, pero se puede elegir un conjunto diferente para mostrar correctamente los caracteres acentuados y específicos del idioma. Esto permite hasta 155 caracteres, codificados en 136 octetos (140 octetos, menos los 4 octetos del encabezado de datos del usuario necesarios para indicar el uso de una tabla de desplazamiento y el código de idioma). Con las tablas de desplazamiento simple y con bloqueo , se permiten hasta 152 caracteres, codificados en 133 octetos (140 octetos, menos los 7 octetos del encabezado de datos del usuario ).

Los caracteres de cualquier tabla de desplazamiento de bloqueo toman un septeto, los caracteres de la tabla de desplazamiento simple (o tabla de extensión del conjunto de caracteres básicos) toman dos septetos.

Inicialmente, las tablas de turnos solo se especificaron para turco; el español y el portugués se agregaron en revisiones posteriores de la versión 8. La versión 9 introdujo 10 idiomas utilizados en la India escritos con escrituras brahmáticas (bengalí, gujarati, hindi, kannada, malabar, oriya, punjabi, tamil, telugu) y urdu .

Todavía no existe una tabla de cambio de idioma nacional definida para francés, griego, ruso, búlgaro, árabe, hebreo y la mayoría de los idiomas de Europa Central que necesitan una cobertura mejor que el conjunto de caracteres estándar predeterminado de 7 bits y su conjunto de caracteres de extensión predeterminado de 7 bits: si alguna vez se compone algún carácter que no se puede representar en esos conjuntos de 7 bits GSM predeterminados, el mensaje se recodificará automáticamente utilizando UCS-2, con el efecto de dividir por más de dos la longitud máxima en caracteres de los mensajes que se pueden enviar al precio de un solo SMS (cuando un mensaje se divide en varias partes, se necesitan algunos otros octetos en el encabezado de datos de usuario para indicar el número de secuencia de cada parte).

Aunque una revisión de GSM 03.38 (ya en la versión 4.0.1 de septiembre de 1994) definió valores de esquema de codificación de datos para el sistema de difusión celular (CBS) para alemán, inglés, italiano, francés, español, holandés, sueco, danés, finlandés, noruego, griego y turco; con húngaro, polaco, checo, hebreo, árabe, ruso e islandés añadidos en revisiones posteriores, no se definieron tablas de codificación para estos idiomas. El propósito de este campo era puramente identificar el idioma del mensaje.

Tampoco existe una tabla de desplazamiento de idioma para el japonés escrito en kanas básicos, ni para el coreano escrito en hangul jamos, ni para el chino escrito en alfabeto han. Esto no suele ser un problema en Japón, porque utiliza otros estándares distintos de GSM y WAP para la mensajería. Los otros dos idiomas también tienen demasiados caracteres distintos para caber en una tabla de desplazamiento de 7 bits.

Lengua española (alfabeto latino)

No existe un conjunto de caracteres de bloqueo de mayúsculas específico para el idioma español. Se utiliza el conjunto de caracteres básico predeterminado.

Conjunto de caracteres básicos
por defecto
(sin tabla de bloqueo de mayúsculas definida para español) [2]
 0x000x100x200x300x400x500x600x70
0x00@ΔES0¡PAG¿pag
0x01£_!1AQaq
0x02$Φ"2BRba
0x03¥Γ#3doSdos
0x04miO¤4Dyoda
0x05miOhmio%5mimi
0x06UnP&6FVFen
0x07iO'7GRAMOYogramoel
0x08oΣ(8yoincógnitayoincógnita
0x09DOO)9IYiy
0x0ASiO*:YoOyoel
0x0BØESC+;KAaa
0x0CøA,<yoOyoo
0x0DESa-=METRONORTEmetronorte
0x0EAß.>norteUnorteü
0x0FaMI/?Oh§oa
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma español
UDH contiene 0x24 0x01 0x02 [2]
 0x000x100x200x300x400x500x600x70
0x00    |   
0x01    A a 
0x02        
0x03        
0x04 ^      
0x05     Utu
0x06        
0x07        
0x08  {     
0x09do } I i 
0x0AFF       
0x0B SS2      
0x0C   [    
0x0DCR2  ~    
0x0E   ]    
0x0F  \ Ó o 
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua portuguesa (alfabeto latino)

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma portugués
UDH contiene 0x25 0x01 0x03 [2]
 0x000x100x200x300x400x500x600x70
0x00@ΔES0IPAG~pag
0x01£_!1AQaq
0x02$ª"2BRba
0x03¥DO#3doSdos
0x04miAº4Dyoda
0x05mi%5mimi
0x06tu^&6FVFen
0x07i\'7GRAMOYogramoel
0x08o(8yoincógnitayoincógnita
0x09doÓ)9IYiy
0x0ASi|*:YoOyoel
0x0BOESC+;KAaa
0x0CoA,<yoOyoo
0x0DESa-=METROUmetro`
0x0EAMI.>norteUnorteü
0x0FaMI/?Oh§oa
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma portugués
UDH contiene 0x24 0x01 0x03 [2]
 0x000x100x200x300x400x500x600x70
0x00    |   
0x01    A A 
0x02 Φ      
0x03 Γ      
0x04 ^      
0x05miOhmio   Utu
0x06 P      
0x07 O      
0x08 Σ{     
0x09doO} I i 
0x0AFF       
0x0BOSS2   A a
0x0Co  [ O o
0x0DCR2  ~    
0x0EA  ]    
0x0FaMI\ Ó oa
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua turca (alfabeto latino)

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma turco
UDH contiene 0x25 0x01 0x01 [2]
 0x000x100x200x300x400x500x600x70
0x00@ΔES0IPAGdopag
0x01£_!1AQaq
0x02$Φ"2BRba
0x03¥Γ#3doSdos
0x04O¤4Dyoda
0x05miOhmio%5mimi
0x06UnP&6FVFen
0x07iO'7GRAMOYogramoel
0x08oΣ(8yoincógnitayoincógnita
0x09DOO)9IYiy
0x0ASiO*:YoOyoel
0x0BGRAMOESC+;KAaa
0x0CgramoS,<yoOyoo
0x0DESs-=METRONORTEmetronorte
0x0EAß.>norteUnorteü
0x0FaMI/?Oh§oa
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma turco
UDH contiene 0x24 0x01 0x01 [2]
 0x000x100x200x300x400x500x600x70
0x00    |   
0x01        
0x02        
0x03     Sdos
0x04 ^      
0x05       
0x06        
0x07    GRAMO gramo 
0x08  {     
0x09  } I i 
0x0AFF       
0x0B SS2      
0x0C   [    
0x0DCR2  ~    
0x0E   ]    
0x0F  \     
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua urdu (escrituras árabe y latina básica)

También puede usarse para el idioma sindhi escrito también en escritura árabe.

A veces también se puede utilizar para el idioma árabe , pero los dígitos orientales (codificados aquí en su variante persa-hindú) no se utilizarán en ese caso porque el árabe estándar prefiere sus dígitos árabes orientales tradicionales y con frecuencia se reemplazarán por dígitos árabes occidentales (codificados en el conjunto de caracteres de bloqueo de desplazamiento en la columna 0x30) que también se utilizan ahora con frecuencia en urdu. Sin embargo, en la India, los teléfonos que reconocen la indicación del idioma árabe pueden sustituir las variantes persa-hindú de los dígitos árabes orientales por los dígitos árabes orientales tradicionales.

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma urdu
UDH contiene 0x25 0x01 0x0D [2]
 0x000x100x200x300x400x500x600x70
0x00AES0Aں◌ٔpag
0x01Aج!1ضڻaq
0x02بځڏ2Aڼba
0x03ٻڄڍ3ظYodos
0x04ڀڃA4عۄda
0x051څر5Yoەmi
0x06ڦچڑ61ہFen
0x07A míڇړ7کھgramoel
0x08ۂAsi)8ڪAyoincógnita
0x09ٿخ(9ګیiy
0x0ASiڙ:گېyoel
0x0BٹESCز;ڳےa◌ٕ
0x0Cٽڌ,ښڱ◌ٍyo◌ّ
0x0DESڈږسA◌ِmetro◌ٓ
0x0E1ډ.شmi◌ُnorte◌ٖ
0x0F1ڊژ?1◌ٗo◌ٰ
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma urdu
UDH contiene 0x24 0x01 0x0D [2]
 0x000x100x200x300x400x500x600x70
0x00@<4◌ؓ|PAG  
0x01£=5◌ؔAQ  
0x02$>6ABR  
0x03¥¡7؟doS  
0x04¿^8ـDyo  
0x05"¡9◌ْmi 
0x06¤_،◌٘FV  
0x07%#؍٫GRAMOYo  
0x08&*{٬yoincógnita  
0x09'Al}1IY  
0x0AFFAAٳYoO  
0x0B*SS2؏ۍK   
0x0C+0◌ؐ[yo   
0x0DCR21◌ؑ~METRO   
0x0E-2◌ؒ]norte   
0x0F/3\۔Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua hindi (devanagari y escritura latina básica)

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma hindi
UDH contiene 0x25 0x01 0x06 [2]
 0x000x100x200x300x400x500x600x70
0x00◌ँES0A◌ाpag
0x01◌ं!1A◌िaq
0x02◌ःA2Mi◌ीba
0x03AAA3◌ुdos
0x04A.AA4A◌ूda
0x05A.AA5◌ृmi
0x06YoAA6◌ॄFen
0x07YoAA.7A◌ॅgramoel
0x08AA)8A◌ॆyoincógnita
0x09AA(9A◌ेiy
0x0ASia.:A◌ैyoel
0x0BESCa.;A◌ॉa
0x0CA,AA◌ॊyo
0x0DESHA◌ोmetro
0x0EAA.A mí◌़◌ौnorte
0x0FAAA?A◌्oॿ
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma hindi
UDH contiene 0x24 0x01 0x06 [2]
 0x000x100x200x300x400x500x600x70
0x00@<A.ज़|PAG  
0x01£=A míड़AQ  
0x02$>BR  
0x03¥¡A mídoS  
0x04¿^Dyo  
0x05"¡mi 
0x06¤_◌॑FV  
0x07%#◌॒◌ॢGRAMOYo  
0x08&*{◌ॣyoincógnita  
0x09'A.}AIY  
0x0AFFA.◌॓YoO  
0x0B*SS2◌॔ K   
0x0C+a.[yo   
0x0DCR2Ya~METRO   
0x0E-ग़]norte   
0x0F/A\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lenguas bengalí y asamés (escrituras bengalí y latina básica)

Conjunto de caracteres de bloqueo de mayúsculas
para los idiomas bengalí y asamés.
El UDH contiene 0x25 0x01 0x04 [2]
 0x000x100x200x300x400x500x600x70
0x00◌ঁES0◌বpag
0x01◌ং !1A◌িaq
0x02◌ঃ 2◌ীba
0x033◌ুdos
0x044◌ূda
0x05A.5 ◌ৃmi
0x06A6◌ৄFen
0x07A.7  gramoel
0x08A.)8  yoincógnita
0x09(9 ◌েiy
0x0ASiA.:◌ৈyoel
0x0BESC; a◌ৗ
0x0C A.,  yoড়
0x0DES◌োmetroYo
0x0E .◌়◌ৌnorte
0x0F?◌্o
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para los idiomas bengalí y asamés
UDH contiene 0x24 0x01 0x04 [2]
 0x000x100x200x300x400x500x600x70
0x00@<|PAG  
0x01£=AQ  
0x02$>BR  
0x03¥¡doS  
0x04¿^Dyo  
0x05"¡ mi 
0x06¤_ FV  
0x07%#◌ৢ GRAMOYo  
0x08&*{ yoincógnita  
0x09'} IY  
0x0AFF◌ৣ YoO  
0x0B*SS2 K   
0x0C+[yo   
0x0DCR2~METRO   
0x0E-]norte   
0x0F/\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua punjabi (gurmukhī y escritura latina básica)

El conjunto de caracteres de bloqueo de desplazamiento
para el idioma punjabi
UDH contiene 0x25 0x01 0x0A [2]
 0x000x100x200x300x400x500x600x70
0x00◌ਁES0◌ਾ◌ੑpag
0x01◌ਂ !1Yo◌ਿaq
0x02◌ਃ 2◌ੀba
0x033◌ੁdos
0x04Y4◌ੂda
0x055  mi
0x06YoYo6 Fen
0x077Yo gramoel
0x08)8  yoincógnita
0x09 (9◌ੇiy
0x0ASi:Yo◌ੈyoel
0x0B ESC;  a◌ੰ
0x0C ,  yo◌ੱ
0x0DESYo◌ੋmetro
0x0E .◌਼◌ੌnorteYo
0x0F? ◌੍oYo
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma punjabi
UDH contiene 0x24 0x01 0x0A [2]
 0x000x100x200x300x400x500x600x70
0x00@<Yo |PAG  
0x01£=Yo AQ  
0x02$> BR  
0x03¥¡Yo doS  
0x04¿^Yo Dyo  
0x05"¡Yo mi 
0x06¤_ FV  
0x07%#ਗ਼ GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA.ਜ਼ YoO  
0x0B*SS2Yo K   
0x0C+[yo   
0x0DCR2◌ੵ~METRO   
0x0E-Yo ]norte   
0x0F/Yo\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua gujarati (escrituras gujarati y latinas básicas)

El conjunto de caracteres de bloqueo de desplazamiento
para el idioma gujarati
UDH contiene 0x25 0x01 0x05 [2]
 0x000x100x200x300x400x500x600x70
0x00◌ઁES0◌ાpag
0x01◌ં!1Yo◌િaq
0x02◌ઃ 2◌ીba
0x03Yo3◌ુdos
0x044A◌ૂda
0x05İEn5 ◌ૃmi
0x06YoYo6◌ૄFen
0x07YoYo7Yo◌ૅgramoel
0x08YoYo)8  yoincógnita
0x09Yo(9Yo◌ેiy
0x0ASiA:Yo◌ૈyoel
0x0BESC;◌ૉa
0x0C, Yo yo
0x0DESYo◌ોmetro◌ૢ
0x0E n.Yo◌઼◌ૌnorte◌ૣ
0x0FEnYo?n◌્o
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma gujarati
UDH contiene 0x24 0x01 0x05 [2]
 0x000x100x200x300x400x500x600x70
0x00@<Yo |PAG  
0x01£= AQ  
0x02$> BR  
0x03¥¡Yo doS  
0x04¿^ Dyo  
0x05"¡ mi 
0x06¤_  FV  
0x07%#  GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA.  YoO  
0x0B*SS2  K   
0x0C+ [yo   
0x0DCR2 ~METRO   
0x0E- ]norte   
0x0F/Yo\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua oriya (Oriya y escritura latina básica)

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma Oriya
UDH contiene 0x25 0x01 0x09 [2]
 0x000x100x200x300x400x500x600x70
0x00◌ଁES0◌ା◌ୖpag
0x01◌ଂ !1◌ିaq
0x02◌ଃ 2◌ୀba
0x033◌ୁdos
0x044◌ୂda
0x055 ◌ୃmi
0x066Fen
0x077 gramoel
0x08)8  yoincógnita
0x09(9◌େiy
0x0ASi:◌ୈyoel
0x0BESC; a◌ୗ
0x0C ,  yo
0x0DES◌ୋmetro
0x0E .◌଼◌ୌnorte◌ୢ
0x0F?◌୍o◌ୣ
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma Oriya
UDH contiene 0x24 0x01 0x09 [2]
 0x000x100x200x300x400x500x600x70
0x00@<Yo |PAG  
0x01£= AQ  
0x02$> BR  
0x03¥¡ doS  
0x04¿^ Dyo  
0x05"¡ mi 
0x06¤_ଡ଼ FV  
0x07%#ଢ଼ GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA. YoO  
0x0B*SS2A K   
0x0C+[yo   
0x0DCR2 ~METRO   
0x0E- ]norte   
0x0F/Yo\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua tamil (Tamil y escritura latina básica)

El conjunto de caracteres de bloqueo de desplazamiento
para el idioma tamil
UDH contiene 0x25 0x01 0x0B [2]
 0x000x100x200x300x400x500x600x70
0x00 ES0 ◌ாpag
0x01◌ஂ !1 ◌ிaq
0x02◌ஃ2◌ீba
0x03 3◌ுdos
0x04 4◌ூda
0x05 5 mi
0x06 6 Fen
0x07 7 gramoel
0x08 )8◌ெyoincógnita
0x09 (9◌ேiy
0x0ASi :◌ைyoel
0x0B ESC ; a◌ௗ
0x0C  ,◌ொyo
0x0DES ◌ோmetro
0x0E .  ◌ௌnorte
0x0F? ◌்o
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma tamil
UDH contiene 0x24 0x01 0x0B [2]
 0x000x100x200x300x400x500x600x70
0x00@<Yo |PAG  
0x01£= AQ  
0x02$> BR  
0x03¥¡ doS  
0x04¿^ Dyo  
0x05"¡ mi 
0x06¤_ FV  
0x07%# GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA. YoO  
0x0B*SS2 K   
0x0C+[yo   
0x0DCR2~METRO   
0x0E-En]norte   
0x0F/\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua telugu (telugu y escritura latina básica)

El conjunto de caracteres de bloqueo de desplazamiento
para el idioma telugu
UDH contiene 0x25 0x01 0x0C [2]
 0x000x100x200x300x400x500x600x70
0x00◌ఁES0◌ా◌ౕpag
0x01◌ం !1A◌ిaq
0x02◌ః2◌ీba
0x033◌ుdos
0x04A4◌ూda
0x05A5◌ృmi
0x06AA6◌ౄFen
0x07A.7 gramoel
0x08A)8 ◌ెyoincógnita
0x09(9A◌ేiy
0x0ASiA.:◌ైyoel
0x0BESC; a◌ౖ
0x0C A, ◌ొyo
0x0DESA◌ోmetro
0x0E.A ◌ౌnorte◌ౢ
0x0F?◌్o◌ౣ
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma telugu
UDH contiene 0x24 0x01 0x0C [2]
 0x000x100x200x300x400x500x600x70
0x00@<|PAG  
0x01£=AQ  
0x02$>౿BR  
0x03¥¡ doS  
0x04¿^ Dyo  
0x05"¡ mi  
0x06¤_ FV  
0x07%# GRAMOYo  
0x08&*{ yoincógnita  
0x09' } IY  
0x0AFF  YoO  
0x0B*SS2 K   
0x0C+[yo   
0x0DCR2~METRO   
0x0E-]norte   
0x0F/\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua kannada (kannada y escritura latina básica)

El conjunto de caracteres de bloqueo de desplazamiento
para el idioma kannada
UDH contiene 0x25 0x01 0x07 [2]
 0x000x100x200x300x400x500x600x70 !  
0x00 ES0pag
0x01 !1ಿaq
0x022ba
0x033dos
0x044da
0x055mi
0x066Fen
0x077 gramoel
0x08)8 yoincógnita
0x09(9iy
0x0ASi:Ayoel
0x0BESC; a
0x0C , yo
0x0DESmetro
0x0E.norte
0x0F?oA
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma kannada
UDH contiene 0x24 0x01 0x07 [2]
 0x000x100x200x300x400x500x600x70 !  
0x00@< |PAG  
0x01£= AQ  
0x02$> BR  
0x03¥¡ doS  
0x04¿^ Dyo  
0x05"¡ mi 
0x06¤_ FV  
0x07%# GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA. YoO  
0x0B*SS2  K   
0x0C+ ]yo   
0x0DCR2 ~METRO   
0x0E- ]norte   
0x0F/\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Lengua malayalam (malayalam y escritura latina básica)

El conjunto de caracteres de bloqueo de mayúsculas
para el idioma malayo
UDH contiene 0x25 0x01 0x08 [2]
 0x000x100x200x300x400x500x600x70 !  
0x00 ES0Apag
0x01 !1Yoിaq
0x022ba
0x033Ados
0x044Ada
0x055mi
0x06A6AFen
0x077 gramoel
0x08)8Ayoincógnita
0x09(9AAiy
0x0ASiA:Yoyoel
0x0BESC; a
0x0C , Yoyo
0x0DESAmetroA
0x0E. norteA
0x0F?o
  • LF es un control de avance de línea.
  • CR es un control de retorno de carro, o relleno.
  • ESC es un control de escape.
  • SP es un personaje espacial.
El conjunto de caracteres de desplazamiento único
para el idioma malayo
UDH contiene 0x25 0x01 0x08 [2]
 0x000x100x200x300x400x500x600x70 !  
0x00@<YoA-PAG  
0x01£=A míAQ  
0x02$>BR  
0x03¥¡YodoS  
0x04¿^ൿDyo  
0x05"¡ mi 
0x06¤_A FV  
0x07%# GRAMOYo  
0x08&*{ yoincógnita  
0x09'A.} IY  
0x0AFFA. YoO  
0x0B*SS2A K   
0x0C+AA mí[yo   
0x0DCR2A~METRO   
0x0E-A mí]norte   
0x0F/Yo\ Oh   
  • FF es un control de salto de página. Si no se reconoce, se tratará como LF .
  • CR2 es un carácter de control. No se codificará ningún carácter específico de un idioma en esta posición.
  • SS2 es un segundo control de escape de turno único reservado para futuras ampliaciones.

Véase también

Referencias

  1. ^ 3GPP TS 23.038, Alfabetos e información específica del idioma.
  2. ^ abcdefghijklmnopqrstu vwxyz aa ab Alfabetos e información específica del idioma (3G TS 23.038 versión 12.0.0) (archivo .doc comprimido), ETSI, septiembre de 2014.
  3. ^ "Los mensajes de texto [...] contienen hasta 140 octetos." en 3GPP TS 23.040 Realización técnica del Servicio de Mensajes Cortos (SMS)
  4. ^ GSM 03.38 a Unicode GSM 03.38 a Unicode
  5. ^ Chad Selph (8 de noviembre de 2012). "Aventuras en SMS Unicode". Twilio. Archivado desde el original el 8 de septiembre de 2015. Consultado el 28 de agosto de 2015 .
  • GSM 03.38 a Unicode: el archivo de datos de mapeo de GSM 03.38 a Unicode de unicode.org.
  • Texto a GSM 03.38 en C# - Mapeo de texto a GSM 03.38 en el lenguaje de programación C# .
  • JCharset - El paquete Java Charset incluye soporte para GSM 03.38 - JCharset - El paquete Java Charset incluye soporte para GSM 03.38.
  • Expresión regular de Java para GSM 03.38 - Expresión regular de Java para GSM 03.38 con comentarios de código que explican la expresión regular.
  • Límite de caracteres de SMS: comprensión del límite de caracteres de SMS.
  • Componentes internacionales para Unicode (ICU), archivo de mapeo gsm-03.38-2009.ucm
Obtenido de "https://es.wikipedia.org/w/index.php?title=GSM_03.38&oldid=1252808320"