GSM 03.38 - GSM 03.38

Na telefonia móvel, GSM 03.38 ou 3GPP 23.038 é uma codificação de caracteres usada em redes GSM para SMS (Short Message Service), CB ( Cell Broadcast ) e USSD (Unstructured Supplementary Service Data). O padrão 3GPP TS 23.038 (originalmente recomendação GSM 03.38) define o alfabeto padrão GSM de 7 bits que é obrigatório para aparelhos GSM e elementos de rede, mas o conjunto de caracteres é adequado apenas para inglês e vários idiomas da Europa Ocidental. Idiomas como chinês, coreano ou japonês devem ser transferidos usando a codificação de caracteres UCS-2 de 16 bits . Um número limitado de idiomas, como português , espanhol , turco e vários idiomas usados ​​na Índia escritos com scripts Brahmic podem usar a codificação de 7 bits com a tabela de mudança de idioma nacional definida no 3GPP 23.038. Para mensagens binárias , a codificação de 8 bits é usada.

Alfabeto padrão GSM de 7 bits e tabela de extensão de 3GPP TS 23.038 / GSM 03.38

A codificação padrão para mensagens GSM é o alfabeto padrão de 7 bits, conforme definido na recomendação 23.038.

Os caracteres de sete bits devem ser codificados em octetos seguindo um dos três modos de empacotamento:

  • CBS: com essa codificação, é possível enviar até 93 caracteres (compactados em até 82 octetos) em uma mensagem SMS em um Serviço de Cell Broadcast.
  • SMS: com esta codificação é possível enviar até 160 caracteres (compactados em até 140 octetos) em uma mensagem SMS na rede GSM.
  • USSD: usando esta codificação, é possível enviar até 182 caracteres (compactados em até 160 octetos) em uma mensagem SMS de Dados de Serviço Suplementar Não Estruturado.
Conjunto de Caracteres Básico
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 ¡ P ¿ p
0x01 £ _ ! 1 UMA Q uma q
0x02 $ Φ " 2 B R b r
0x03 ¥ Γ # 3 C S c s
0x04 è Λ ¤ 4 D T d t
0x05 é Ω % 5 E você e você
0x06 você Π E 6 F V f v
0x07 eu Ψ ' 7 G C g C
0x08 ò Σ ( 8 H X h x
0x09 Ç Θ ) 9 eu Y eu y
0x0A LF Ξ * : J Z j z
0x0B Ø ESC + ; K UMA k uma
0x0C ø Æ , < eu Ö eu ö
0x0D CR æ - = M Ñ m ñ
0x0E UMA WL . > N VOCÊ n você
0x0F uma ... / ? O § o uma
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um Escape para a tabela de extensão (mapeia para NBSP).
  • SP é um personagem do Espaço.
Extensão do conjunto de caracteres básico
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00         |      
0x01                
0x02                
0x03                
0x04   ^            
0x05              
0x06                
0x07                
0x08     {          
0x09     }          
0x0A FF              
0x0B   SS2            
0x0C       [        
0x0D CR2     ~        
0x0E       ]        
0x0F     \          
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

É importante (especialmente quando uma mensagem deve ser segmentada usando um mecanismo SMS concatenado ) que os caracteres da tabela Conjunto de caracteres básicos tenham um septeto, os caracteres da tabela Extensão do conjunto de caracteres básicos tomem dois septetos.

Observe que a segunda parte da tabela só está acessível se o dispositivo GSM suportar o mecanismo de extensão de 7 bits, usando o prefixo do caractere ESC. Caso contrário, o próprio código ESC é interpretado como um espaço e o caractere a seguir será tratado como se não houvesse nenhum código ESC inicial.

A maior parte da parte alta da tabela não é usada no conjunto de caracteres padrão, mas o padrão GSM define alguns indicadores de código de idioma que permitem ao sistema identificar variantes nacionais desta parte, para suportar mais caracteres do que aqueles exibidos na tabela acima.

Em uma mensagem de texto GSM padrão, todos os caracteres são codificados usando unidades de código de 7 bits, agrupados para preencher todos os bits de octetos. Assim, por exemplo, o envelope de 140 octetos de um SMS , sem outro indicador de idioma, mas apenas o prefixo de classe padrão, pode transportar até (140 * 8) / 7 = 160, ou seja, 160 caracteres GSM de 7 bits (mas observe que o código ESC conta para um deles, se forem usados ​​caracteres na parte superior da tabela).

Mensagens mais longas podem ser enviadas, mas exigirão um prefixo de continuação e um número de sequência nas mensagens SMS subsequentes (esses bytes de prefixo e o número de sequência são contados dentro do comprimento máximo da carga útil de 140 octetos do formato do envelope).

Quando há 1 a 6 bits sobressalentes no último octeto de uma mensagem, esses bits são definidos como zero (esses bits não contam como um caractere, mas apenas como um preenchimento). Quando há 7 bits sobressalentes no último octeto de uma mensagem, esses bits são configurados para o código de 7 bits do controle CR (também usado como preenchimento de preenchimento) em vez de serem configurados para zero (onde seriam confundidos com o Código de 7 bits de um caractere '@').

Essa codificação de 7 bits permite o transporte de textos codificados no subconjunto Latim básico do ASCII, bem como alguns caracteres do conjunto de caracteres ISO Latin 1. Também permite a codificação de textos escritos na escrita grega, mas apenas em maiúsculas; para tal uso em grego, as letras latinas maiúsculas que se parecem com as letras gregas são reutilizadas com o mesmo código, de modo que o conjunto de caracteres acima é completo apenas para o grego monotônico moderno restrito a letras maiúsculas. Um suporte completo para o alfabeto grego (incluindo letras minúsculas) requer uma versão nacional da tabela deslocada de 7 bits (usando o código ESC para cada caractere nacional codificado nesta tabela deslocada), ou uma codificação proprietária não especificada de 8 bits, ou a uso da codificação UCS-2 (veja abaixo).

Observe que o código especial marcado com SS2 na tabela acima também foi atribuído (e codificado como 0x1B, 0x1B) para permitir o uso de outra tabela de deslocamento alternativa de 7 bits. Mas esse mecanismo nunca foi usado e a codificação UCS-2 foi preferida.

Observe que o caractere 0x09 ( Ç , C maiúsculo com cedilha) deve ser substituído por ç (c minúsculo com cedilha) na implementação moderna, como recomendado pelo Unicode, uma vez que a versão em maiúsculas é de pouca utilidade.

Codificação de dados GSM de 8 bits

O modo de codificação de dados de 8 bits trata as informações como dados brutos. De acordo com o padrão, o alfabeto para esta codificação é específico do usuário.

Codificação UCS-2

Essa codificação permite o uso de uma gama maior de caracteres e idiomas. UCS-2 pode representar os caracteres latinos e orientais mais comumente usados ​​ao custo de um gasto de espaço maior. Estritamente falando, UCS-2 é limitado a caracteres no Plano Multilíngue Básico . No entanto, como os ambientes de programação modernos não fornecem codificadores ou decodificadores para UCS-2, alguns telefones celulares (por exemplo, iPhones ) usam UTF-16 em vez de UCS-2. Isso funciona porque, para caracteres no Plano multilíngue básico (incluindo alfabetos completos da maioria das línguas humanas modernas), as codificações UCS-2 e UTF-16 são idênticas. Para codificar caracteres fora do BMP (inacessível no UCS-2 simples), como Emoji , o UTF-16 usa pares substitutos , que quando decodificados com UCS-2 apareceriam como dois pontos de código válidos, mas não mapeados .

Uma única mensagem SMS GSM usando essa codificação pode ter no máximo 70 caracteres (140 octetos).

Observe que em muitos telefones celulares GSM, não há pré-seleção específica da codificação UCS-2. O padrão é usar a codificação de 7 bits descrita acima, até que se insira um caractere que não está presente na tabela GSM de 7 bits (por exemplo, 'a' minúsculo com agudo: 'á'). Nesse caso, toda a mensagem é recodificada usando a codificação UCS-2, e o comprimento máximo da mensagem enviada em um único SMS é imediatamente reduzido para 70 caracteres, em vez de 160. Outros variam com base na escolha e configuração do aplicativo SMS e o comprimento da mensagem.

Para evitar custos inesperados para remetentes que possuem uma assinatura para um pacote limitado de SMS enviados, os aplicativos devem exibir o número de caracteres usados ​​e o número máximo de caracteres no SMS composto. Quando uma mensagem ultrapassa este máximo, a mensagem será enviada como vários SMS sucessivos contendo partes da mensagem (cada um contendo um número de sequência, que também usa alguns caracteres iniciais em cada parte); essas partes devem ser remontadas posteriormente pelo destinatário.

Alguns aplicativos alertam o usuário quando uma mensagem precisa ser dividida ou até mesmo enviam uma mensagem mais longa como mensagem multimídia (MMS).

Tabelas de mudança de idioma nacional

Desde a versão 8 do padrão 3GPP 23.038 de março de 2008, conjuntos de caracteres adicionais podem ser acessados ​​por meio do uso de Tabelas de Mudança de Idioma Nacional.

Essas tabelas permitem o uso de diferentes conjuntos de caracteres de acordo com o idioma em que o texto será escrito. A escolha da tabela para uma determinada mensagem é selecionada na seção Cabeçalho de Dados do Usuário de uma mensagem SMS e pode ser especificada para todo o texto (uma tabela de bloqueio de deslocamento substituindo a tabela do alfabeto padrão GSM de 7 bits padrão) ou um único caractere ( deslocamento único substituindo a tabela de extensão alfabética padrão do GSM de 7 bits). As tabelas de bloqueio e de turno único juntas na mesma mensagem são possíveis, se a tabela do alfabeto padrão padrão e a tabela de extensão do alfabeto padrão forem substituídas.

Usando uma tabela de deslocamento, uma mensagem ainda pode usar a codificação de 7 bits para os caracteres, mas um conjunto diferente pode ser escolhido para mostrar corretamente os caracteres acentuados e específicos do idioma. Isso permite até 155 caracteres, codificados em 136 octetos (140 octetos, menos os 4 octetos do Cabeçalho de Dados do Usuário necessários para indicar o uso de uma tabela de deslocamento e o código de idioma). Com as tabelas Locking e Single shift, são permitidos até 152 caracteres, codificados em 133 octetos (140 octetos, menos 7 octetos Cabeçalho de Dados do Usuário ).

Os caracteres de qualquer tabela de deslocamento de bloqueio levam um septeto, os caracteres da tabela de deslocamento único (ou tabela de Extensão de Conjunto de Caracteres Básica) levam dois septetos.

Inicialmente, as tabelas de deslocamento apenas para turco foram especificadas; O espanhol e o português foram adicionados em revisões posteriores da versão 8. A versão 9 introduziu 10 idiomas usados ​​na Índia escritos com scripts brâmanes (bengali, gujarati, hindi, canarês, malaiala, oriya, punjabi, tâmil, télugo) e urdu .

Ainda não há uma tabela de mudança de idioma nacional definida para francês, grego, russo, búlgaro, árabe, hebraico e a maioria dos idiomas da Europa Central que precisam de uma cobertura melhor do que o conjunto de caracteres padrão de 7 bits padrão e seu conjunto de caracteres de extensão de 7 bits padrão: se algum caractere for composto que não possa ser representado nesses conjuntos padrão de GSM de 7 bits, a mensagem será automaticamente recodificada usando UCS-2, com o efeito de dividir por mais de dois o comprimento máximo em caracteres de mensagens que podem ser enviadas ao preço de um único SMS (quando uma mensagem é dividida em várias partes, alguns outros octetos são necessários no cabeçalho de dados do usuário para indicar o número de sequência de cada parte).

Embora uma revisão do GSM 03.38 (já na versão 4.0.1 de setembro de 1994) tenha definido valores de esquema de codificação de dados para Cell Broadcast System (CBS) para alemão, inglês, italiano, francês, espanhol, holandês, sueco, dinamarquês, finlandês , Norueguês, grego e turco; com húngaro, polonês, tcheco, hebraico, árabe, russo e islandês adicionados em revisões posteriores, nenhuma tabela de codificação foi definida para esses idiomas. O objetivo deste campo era puramente identificar o idioma da mensagem.

Também não há tabela de mudança de idioma para japonês escrito em kanas básico, ou para coreano escrito em Hangul jamos, ou para chinês escrito em han. Isso geralmente não é um problema no Japão, porque ele usa outros padrões além de GSM e WAP para mensagens. Os dois outros idiomas também têm muitos caracteres distintos para caber em uma tabela de deslocamento de 7 bits.

Língua espanhola (escrita latina)

Não há nenhum conjunto de caracteres de deslocamento de bloqueio específico para o idioma espanhol. Usa o conjunto de caracteres básico padrão.

Caractere básico definido
por padrão
(Nenhuma tabela de deslocamento de bloqueio definida para espanhol)
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 ¡ P ¿ p
0x01 £ _ ! 1 UMA Q uma q
0x02 $ Φ " 2 B R b r
0x03 ¥ Γ # 3 C S c s
0x04 è Λ ¤ 4 D T d t
0x05 é Ω % 5 E você e você
0x06 você Π E 6 F V f v
0x07 eu Ψ ' 7 G C g C
0x08 ò Σ ( 8 H X h x
0x09 Ç Θ ) 9 eu Y eu y
0x0A LF Ξ * : J Z j z
0x0B Ø ESC + ; K UMA k uma
0x0C ø Æ , < eu Ö eu ö
0x0D CR æ - = M Ñ m ñ
0x0E UMA WL . > N VOCÊ n você
0x0F uma ... / ? O § o uma
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma espanhol
UDH contém 0x24 0x01 0x02
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00         |      
0x01         UMA   uma  
0x02                
0x03                
0x04   ^            
0x05           VOCÊ você
0x06                
0x07                
0x08     {          
0x09 ç   }   EU   eu  
0x0A FF              
0x0B   SS2            
0x0C       [        
0x0D CR2     ~        
0x0E       ]        
0x0F     \   Ó   ó  
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua portuguesa (escrita latina)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma português
UDH contém 0x25 0x01 0x03
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 EU P ~ p
0x01 £ _ ! 1 UMA Q uma q
0x02 $ ª " 2 B R b r
0x03 ¥ Ç # 3 C S c s
0x04 ê UMA º 4 D T d t
0x05 é % 5 E você e você
0x06 você ^ E 6 F V f v
0x07 eu \ ' 7 G C g C
0x08 ó ( 8 H X h x
0x09 ç Ó ) 9 eu Y eu y
0x0A LF | * : J Z j z
0x0B Ô ESC + ; K UMA k uma
0x0C ô UMA , < eu Õ eu õ
0x0D CR uma - = M VOCÊ m `
0x0E UMA Ê . > N VOCÊ n você
0x0F uma ... / ? O § o uma
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma português
UDH contém 0x24 0x01 0x03
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00         |      
0x01         UMA   UMA  
0x02   Φ            
0x03   Γ            
0x04   ^            
0x05 ê Ω       VOCÊ você
0x06   Π            
0x07   Ψ            
0x08   Σ {          
0x09 ç Θ }   EU   eu  
0x0A FF              
0x0B Ô SS2       UMA   uma
0x0C ô     [   Õ   õ
0x0D CR2     ~        
0x0E UMA     ]        
0x0F uma Ê \   Ó   ó uma
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua turca (escrita latina)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma turco
UDH contém 0x25 0x01 0x01
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 EU P ç p
0x01 £ _ ! 1 UMA Q uma q
0x02 $ Φ " 2 B R b r
0x03 ¥ Γ # 3 C S c s
0x04 Λ ¤ 4 D T d t
0x05 é Ω % 5 E você e você
0x06 você Π E 6 F V f v
0x07 eu Ψ ' 7 G C g C
0x08 ò Σ ( 8 H X h x
0x09 Ç Θ ) 9 eu Y eu y
0x0A LF Ξ * : J Z j z
0x0B Ğ ESC + ; K UMA k uma
0x0C ğ Ş , < eu Ö eu ö
0x0D CR ş - = M Ñ m ñ
0x0E UMA WL . > N VOCÊ n você
0x0F uma ... / ? O § o uma
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma turco
UDH contém 0x24 0x01 0x01
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00         |      
0x01                
0x02                
0x03           Ş ç ş
0x04   ^            
0x05              
0x06                
0x07         Ğ   ğ  
0x08     {          
0x09     }   EU   eu  
0x0A FF              
0x0B   SS2            
0x0C       [        
0x0D CR2     ~        
0x0E       ]        
0x0F     \          
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua urdu (escrita árabe e latina básica)

Também pode ser usado para a língua Sindi, também escrita na escrita árabe.

Às vezes, pode ser usado para o idioma árabe também, mas os dígitos orientais (codificados aqui em sua variante persa-hindu) não serão usados ​​nesse caso porque o árabe padrão prefere seus dígitos árabes orientais tradicionais e frequentemente serão substituídos por ocidentais Dígitos árabes (codificados no caractere de deslocamento de bloqueio definido na coluna 0x30) que também são usados ​​agora com frequência em Urdu. No entanto, na Índia, os telefones que reconhecem a indicação do idioma árabe podem substituir as variantes persa-hindu dos dígitos árabes orientais pelos dígitos árabes orientais tradicionais.

Conjunto de caracteres de bloqueio de deslocamento
para o idioma Urdu
UDH contém 0x25 0x01 0x0D
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ا ث SP 0 ص ں ◌ٔ p
0x01 آ ج ! 1 ض ڻ uma q
0x02 ب ځ ڏ 2 ط ڼ b r
0x03 ٻ ڄ ڍ 3 ظ و c s
0x04 ڀ ڃ ذ 4 ع ۄ d t
0x05 پ څ ر 5 ف ە e você
0x06 ڦ چ ڑ 6 ق ہ f v
0x07 ت ڇ ړ 7 ک ھ g C
0x08 ۂ ح ) 8 ڪ ء h x
0x09 ٿ خ ( 9 ګ ی eu y
0x0A LF د ڙ : گ ې j z
0x0B ٹ ESC ز ; ڳ ے k ◌ٕ
0x0C ٽ ڌ , ښ ڱ ◌ٍ eu ◌ّ
0x0D CR ڈ ږ س ل ◌ِ m ◌ٓ
0x0E ٺ ډ . Ô م ◌ُ n ◌ٖ
0x0F ټ ڊ ژ ? ن ◌ٗ o ◌ٰ
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma Urdu
UDH contém 0x24 0x01 0x0D
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < ۴ ◌ؓ | P    
0x01 £ = ۵ ◌ؔ UMA Q    
0x02 $ > ۶ ؛ B R    
0x03 ¥ ¡ ۷ ؟ C S    
0x04 ¿ ^ ۸ ـ D T    
0x05 " ¡ ۹ ◌ْ E você  
0x06 ¤ _ ، ◌٘ F V    
0x07 % # ؍ ٫ G C    
0x08 E * { ٬ H X    
0x09 ' ؀ } ٲ eu Y    
0x0A FF ؁ ؎ ٳ J Z    
0x0B * SS2 ؏ ۍ K      
0x0C + ۰ ◌ؐ [ eu      
0x0D CR2 ۱ ◌ؑ ~ M      
0x0E - ۲ ◌ؒ ] N      
0x0F / ۳ \ ۔ O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua hindi (devanágari e scripts latinos básicos)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma hindi
UDH contém 0x25 0x01 0x06
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ँ SP 0 ◌ा p
0x01 ◌ं ! 1 ◌ि uma q
0x02 ◌ः 2 ◌ी b r
0x03 3 ◌ु c s
0x04 4 ◌ू d t
0x05 5 ◌ृ e você
0x06 6 ◌ॄ f v
0x07 7 ◌ॅ g C
0x08 ) 8 ◌ॆ h x
0x09 ( 9 ◌े eu y
0x0A LF : ◌ै j z
0x0B ESC ; ◌ॉ k
0x0C , ◌ॊ eu
0x0D CR ◌ो m
0x0E . ◌़ ◌ौ n
0x0F ? ◌् o ॿ
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma hindi
UDH contém 0x24 0x01 0x06
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < ज़ | P    
0x01 £ = ड़ UMA Q    
0x02 $ > ढ़ B R    
0x03 ¥ ¡ फ़ C S    
0x04 ¿ ^ य़ D T    
0x05 " ¡ E você  
0x06 ¤ _ ◌॑ F V    
0x07 % # ◌॒ ◌ॢ G C    
0x08 E * { ◌ॣ H X    
0x09 ' } eu Y    
0x0A FF ◌॓ J Z    
0x0B * SS2 ◌॔   K      
0x0C + क़ [ eu      
0x0D CR2 ख़ ~ M      
0x0E - ग़ ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Línguas bengali e assamês (scripts bengali e latinos básicos)

Conjunto de caracteres de bloqueio de deslocamento
para os idiomas bengali e assamês
UDH contém 0x25 0x01 0x04
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ঁ SP 0 ◌ব p
0x01 ◌ং   ! 1 ◌ি uma q
0x02 ◌ঃ   2 ◌ী b r
0x03 3 ◌ু c s
0x04 4 ◌ূ d t
0x05 5   ◌ৃ e você
0x06 6 ◌ৄ f v
0x07 7     g C
0x08 ) 8     h x
0x09 ( 9   ◌ে eu y
0x0A LF : ◌ৈ j z
0x0B ESC ;   k ◌ৗ
0x0C   ,     eu ড়
0x0D CR ◌ো m ঢ়
0x0E   . ◌় ◌ৌ n
0x0F ? ◌্ o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para os idiomas bengali e assamês
UDH contém 0x24 0x01 0x04
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < | P    
0x01 £ = UMA Q    
0x02 $ > B R    
0x03 ¥ ¡ C S    
0x04 ¿ ^ য় D T    
0x05 " ¡   E você  
0x06 ¤ _   F V    
0x07 % # ◌ৢ   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF ◌ৣ   J Z    
0x0B * SS2   K      
0x0C + [ eu      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Idioma punjabi (gurmukhī e scripts latinos básicos)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma Punjabi
UDH contém 0x25 0x01 0x0A
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ਁ SP 0 ◌ਾ ◌ੑ p
0x01 ◌ਂ   ! 1 ◌ਿ uma q
0x02 ◌ਃ   2 ◌ੀ b r
0x03 3 ◌ੁ c s
0x04 4 ◌ੂ d t
0x05 5     e você
0x06 6   f v
0x07 7 ਲ਼   g C
0x08 ) 8     h x
0x09   ( 9 ◌ੇ eu y
0x0A LF : ਸ਼ ◌ੈ j z
0x0B   ESC ;     k ◌ੰ
0x0C   ,     eu ◌ੱ
0x0D CR ◌ੋ m
0x0E   . ◌਼ ◌ੌ n
0x0F ?   ◌੍ o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma punjabi
UDH contém 0x24 0x01 0x0A
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | P    
0x01 £ =   UMA Q    
0x02 $ >   B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você  
0x06 ¤ _ ਖ਼   F V    
0x07 % # ਗ਼   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF ਜ਼   J Z    
0x0B * SS2   K      
0x0C + ਫ਼ [ eu      
0x0D CR2 ◌ੵ ~ M      
0x0E -   ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua gujarati (gujarati e scripts latinos básicos)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma Gujarati
UDH contém 0x25 0x01 0x05
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ઁ SP 0 ◌ા p
0x01 ◌ં ! 1 ◌િ uma q
0x02 ◌ઃ   2 ◌ી b r
0x03 3 ◌ુ c s
0x04 4 ◌ૂ d t
0x05 5   ◌ૃ e você
0x06 6 ◌ૄ f v
0x07 7 ◌ૅ g C
0x08 ) 8     h x
0x09 ( 9 ◌ે eu y
0x0A LF : ◌ૈ j z
0x0B ESC ; ◌ૉ k
0x0C ,     eu
0x0D CR ◌ો m ◌ૢ
0x0E   . ◌઼ ◌ૌ n ◌ૣ
0x0F ? ◌્ o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de turno único
para o idioma Gujarati
UDH contém 0x24 0x01 0x05
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | P    
0x01 £ =   UMA Q    
0x02 $ >   B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você  
0x06 ¤ _     F V    
0x07 % #     G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF     J Z    
0x0B * SS2     K      
0x0C +   [ eu      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua oriá (oriá e escrita latina básica)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma oriya
UDH contém 0x25 0x01 0x09
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ଁ SP 0 ◌ା ◌ୖ p
0x01 ◌ଂ   ! 1 ◌ି uma q
0x02 ◌ଃ   2 ◌ୀ b r
0x03 3 ◌ୁ c s
0x04 4 ◌ୂ d t
0x05 5   ◌ୃ e você
0x06 6 f v
0x07 7   g C
0x08 ) 8     h x
0x09 ( 9 ◌େ eu y
0x0A LF : ◌ୈ j z
0x0B ESC ;   k ◌ୗ
0x0C   ,     eu
0x0D CR ◌ୋ m
0x0E   . ◌଼ ◌ୌ n ◌ୢ
0x0F ? ◌୍ o ◌ୣ
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para idioma oriya
UDH contém 0x24 0x01 0x09
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | P    
0x01 £ =   UMA Q    
0x02 $ >   B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você  
0x06 ¤ _ ଡ଼   F V    
0x07 % # ଢ଼   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ eu      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua tâmil (escritas tâmil e latinas básicas)

Conjunto de caracteres de bloqueio de mudança
para idioma Tamil
UDH contém 0x25 0x01 0x0B
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00   SP 0   ◌ா p
0x01 ◌ஂ   ! 1   ◌ி uma q
0x02 ◌ஃ 2 ◌ீ b r
0x03   3 ◌ு c s
0x04   4 ◌ூ d t
0x05   5   e você
0x06   6   f v
0x07   7   g C
0x08   ) 8 ◌ெ h x
0x09   ( 9 ◌ே eu y
0x0A LF   : ◌ை j z
0x0B   ESC   ;   k ◌ௗ
0x0C     , ◌ொ eu
0x0D CR   ◌ோ m
0x0E   .     ◌ௌ n
0x0F ?   ◌் o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para idioma Tamil
UDH contém 0x24 0x01 0x0B
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | P    
0x01 £ =   UMA Q    
0x02 $ >   B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você  
0x06 ¤ _   F V    
0x07 % #   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ eu      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua telugu (escritas telugu e latinas básicas)

Conjunto de caracteres de bloqueio de deslocamento
para idioma telugu
UDH contém 0x25 0x01 0x0C
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ఁ SP 0 ◌ా ◌ౕ p
0x01 ◌ం   ! 1 ◌ి uma q
0x02 ◌ః 2 ◌ీ b r
0x03 3 ◌ు c s
0x04 4 ◌ూ d t
0x05 5 ◌ృ e você
0x06 6 ◌ౄ f v
0x07 7   g C
0x08 ) 8   ◌ె h x
0x09 ( 9 ◌ే eu y
0x0A LF : ◌ై j z
0x0B ESC ;   k ◌ౖ
0x0C   ,   ◌ొ eu
0x0D CR ◌ో m
0x0E .   ◌ౌ n ◌ౢ
0x0F ? ◌్ o ◌ౣ
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para idioma telugu
UDH contém 0x24 0x01 0x0C
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < | P    
0x01 £ = UMA Q    
0x02 $ > ౿ B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você    
0x06 ¤ _   F V    
0x07 % #   G C    
0x08 E * {   H X    
0x09 '   }   eu Y    
0x0A FF     J Z    
0x0B * SS2   K      
0x0C + [ eu      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua canarim (kannada e scripts latinos básicos)

Conjunto de caracteres de bloqueio de mudança
para o idioma Kannada
UDH contém 0x25 0x01 0x07
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00   SP 0 p
0x01   ! 1 ಿ uma q
0x02 2 b r
0x03 3 c s
0x04 4 d t
0x05 5 e você
0x06 6 f v
0x07 7   g C
0x08 ) 8   h x
0x09 ( 9 eu y
0x0A LF : j z
0x0B ESC ;   k
0x0C   ,   eu
0x0D CR m
0x0E . n
0x0F ? o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma Kannada
UDH contém 0x24 0x01 0x07
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00 @ <   | P    
0x01 £ =   UMA Q    
0x02 $ >   B R    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D T    
0x05 " ¡   E você  
0x06 ¤ _   F V    
0x07 % #   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF   J Z    
0x0B * SS2     K      
0x0C +   ] eu      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Língua malaiala (escrita malaiala e latim básico)

O conjunto de caracteres de bloqueio de deslocamento
para o idioma malaiala
UDH contém 0x25 0x01 0x08
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00   SP 0 p
0x01   ! 1 ി uma q
0x02 2 b r
0x03 3 c s
0x04 4 d t
0x05 5 e você
0x06 6 f v
0x07 7   g C
0x08 ) 8 h x
0x09 ( 9 eu y
0x0A LF : j z
0x0B ESC ;   k
0x0C   ,   eu
0x0D CR m
0x0E .   n
0x0F ? o
  • LF é um controle de alimentação de linha.
  • CR é um controle de retorno de carro ou preenchimento.
  • ESC é um controle Escape.
  • SP é um personagem do Espaço.
Conjunto de caracteres de deslocamento único
para o idioma malaiala
UDH contém 0x25 0x01 0x08
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00 @ < - P    
0x01 £ = UMA Q    
0x02 $ > B R    
0x03 ¥ ¡ C S    
0x04 ¿ ^ ൿ D T    
0x05 " ¡   E você  
0x06 ¤ _   F V    
0x07 % #   G C    
0x08 E * {   H X    
0x09 ' }   eu Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ eu      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   O      
  • FF é um controle de quebra de página. Se não for reconhecido, deve ser tratado como LF .
  • CR2 é um personagem de controle. Nenhum caractere específico do idioma deve ser codificado nesta posição.
  • SS2 é um segundo controle de Escape de Turno Único reservado para extensões futuras.

Veja também

Referências

links externos