GSM 03.38 - GSM 03.38

В мобильной телефонии GSM 03.38 или 3GPP 23.038 - это кодировка символов, используемая в сетях GSM для SMS (служба коротких сообщений), CB ( сотовая широковещательная передача ) и USSD (неструктурированные дополнительные служебные данные). Стандарт 3GPP TS 23.038 (первоначально рекомендация GSM 03.38) определяет 7-битный алфавит GSM по умолчанию, который является обязательным для телефонов GSM и сетевых элементов, но набор символов подходит только для английского и ряда западноевропейских языков. Такие языки, как китайский, корейский или японский, необходимо передавать с использованием 16-битной кодировки символов UCS-2 . Ограниченное количество языков, таких как португальский , испанский , турецкий и ряд языков, используемых в Индии, написанных с использованием скриптов Brahmic, может использовать 7-битную кодировку с таблицей сдвига национального языка, определенной в 3GPP 23.038. Для двоичных сообщений используется 8-битная кодировка.

7-битный алфавит GSM по умолчанию и таблица расширений 3GPP TS 23.038 / GSM 03.38

Стандартной кодировкой сообщений GSM является 7-битный алфавит по умолчанию, как определено в рекомендации 23.038.

Семибитные символы должны быть закодированы в октеты в соответствии с одним из трех режимов упаковки:

  • CBS: используя эту кодировку, можно отправить до 93 символов (с упаковкой до 82 октетов) в одном SMS-сообщении в службе сотового вещания.
  • SMS: используя эту кодировку, можно отправить до 160 символов (упакованных до 140 октетов) в одном SMS-сообщении в сети GSM.
  • USSD: используя эту кодировку, можно отправить до 182 символов (упакованных до 160 октетов) в одном SMS-сообщении с неструктурированными дополнительными служебными данными.
Базовый набор символов
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 ¡ п ¿ п
0x01 £ _ ! 1 А Q а q
0x02 $ Φ " 2 B р б р
0x03 ¥ Γ # 3 C S c s
0x04 è Λ ¤ 4 D Т d т
0x05 é Ω % 5 E U е ты
0x06 ù Π & 6 F V ж v
0x07 я Ψ ' 7 грамм W грамм ш
0x08 ò Σ ( 8 ЧАС Икс час Икс
0x09 Ç Θ ) 9 я Y я y
0x0A LF Ξ * : J Z j z
0x0B Ø ESC + ; K Ä k ä
0x0C ø Æ , < L Ö л ö
0x0D CR æ - знак равно M Ñ м ñ
0x0E Å SS . > N Ü п ü
0x0F å É / ? О § о à
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это таблица перехода к расширению (отображается в NBSP).
  • SP - это космический персонаж.
Расширение базового набора символов
  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 - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Важно (особенно когда сообщение должно быть сегментировано с использованием механизма конкатенированного SMS ), чтобы символы из таблицы базового набора символов занимали один септет, а символы из таблицы расширения базового набора символов занимали два септета.

Обратите внимание, что вторая часть таблицы доступна только в том случае, если устройство GSM поддерживает 7-битный механизм расширения с использованием префикса символа ESC. В противном случае сам код ESC интерпретируется как пробел, а следующий символ будет обрабатываться так, как если бы не было ведущего кода ESC.

Большая часть верхней части таблицы не используется в наборе символов по умолчанию, но стандарт GSM определяет некоторые индикаторы кода языка, которые позволяют системе идентифицировать национальные варианты этой части, чтобы поддерживать больше символов, чем показано в приведенной выше таблице.

В стандартном текстовом сообщении GSM все символы кодируются с использованием 7-битных кодовых единиц, упакованных вместе, чтобы заполнить все биты октетов. Так, например, 140-октетный конверт SMS без индикатора другого языка, а только со стандартным префиксом класса, может передавать до (140 * 8) / 7 = 160, то есть 160 7-битных символов GSM (но обратите внимание, что код ESC засчитывается для одного из них, если используются символы в верхней части таблицы).

Могут быть отправлены более длинные сообщения, но для последующих SMS-сообщений потребуется префикс продолжения и порядковый номер (эти байты префикса и порядковый номер считаются в пределах максимальной длины 140-октетной полезной нагрузки формата конверта).

Когда в последнем октете сообщения содержится от 1 до 6 запасных битов, эти биты устанавливаются в ноль (эти биты не считаются символом, а только заполнителем). Когда в последнем октете сообщения есть 7 запасных битов, эти биты устанавливаются на 7-битный код элемента управления CR (также используемый как заполнитель заполнения) вместо того, чтобы быть установленным на ноль (где их можно было бы спутать с 7-битный код символа '@').

Эта 7-битная кодировка позволяет транспортировать тексты, закодированные в подмножестве ASCII Basic Latin, а также некоторые символы из набора символов ISO Latin 1. Он также позволяет кодировать тексты, написанные греческим шрифтом, но только заглавными буквами; для такого использования в греческом языке заглавные латинские буквы, которые выглядят как греческие буквы, повторно используются с тем же кодом, так что приведенный выше набор символов является полным только для современного монотонного греческого языка, ограниченного заглавными буквами. Для полной поддержки греческого алфавита (включая строчные буквы) требуется национальная версия смещенной 7-битной таблицы (с использованием кода ESC для каждого национального символа, закодированного в этой смещенной таблице), или неуказанная проприетарная 8-битная кодировка, или использование кодировки UCS-2 (см. ниже).

Обратите внимание, что специальный код, помеченный как SS2 в приведенной выше таблице, также был назначен (и закодирован как 0x1B, 0x1B), чтобы разрешить использование другой альтернативной 7-битной таблицы сдвига. Но этот механизм никогда не использовался, и предпочтение было отдано кодировке UCS-2.

Обратите внимание, что символ 0x09 ( Ç , заглавная C с седилем) следует вместо этого заменить на ç (маленький c с седилем) в современной реализации, как рекомендовано Unicode, поскольку версия в верхнем регистре мало используется.

8-битное кодирование данных GSM

В 8-битном режиме кодирования данных информация обрабатывается как необработанные данные. Согласно стандарту, алфавит для этой кодировки зависит от пользователя.

Кодировка UCS-2

Эта кодировка позволяет использовать больший диапазон символов и языков. UCS-2 может представлять наиболее часто используемые латинские и восточные символы за счет больших затрат места. Строго говоря, UCS-2 ограничен символами в базовой многоязычной плоскости . Однако, поскольку современные среды программирования не предоставляют кодировщики или декодеры для UCS-2, некоторые сотовые телефоны (например, iPhone ) используют UTF-16 вместо UCS-2. Это работает, потому что для символов в базовой многоязычной плоскости (включая полные алфавиты большинства современных человеческих языков) кодировки UCS-2 и UTF-16 идентичны. Для кодирования символов вне BMP (недоступных в обычном UCS-2), таких как Emoji , UTF-16 использует суррогатные пары , которые при декодировании с помощью UCS-2 будут отображаться как две действительные, но не отображенные кодовые точки .

Одно SMS-сообщение GSM с использованием этой кодировки может содержать не более 70 символов (140 октетов).

Обратите внимание, что на многих сотовых телефонах GSM нет специального предварительного выбора кодировки UCS-2. По умолчанию используется 7-битная кодировка, описанная выше, до тех пор, пока не будет введен символ, которого нет в 7-битной таблице GSM (например, строчная буква «а» с акцентом: «á»). В этом случае все сообщение перекодируется с использованием кодировки UCS-2, а максимальная длина сообщения, отправляемого в одном SMS-сообщении, сразу же сокращается до 70 символов вместо 160. Другие значения зависят от выбора и конфигурации приложения SMS. , и длина сообщения.

Чтобы избежать непредвиденных расходов для отправителей, которые имеют подписку на ограниченный пакет отправленных SMS, приложения должны отображать количество используемых символов и максимальное количество символов в составленном SMS. Когда сообщение превышает этот максимум, сообщение будет отправлено как несколько последовательных SMS-сообщений, содержащих части сообщения (каждая из которых содержит порядковый номер, который также использует несколько ведущих символов в каждой части); эти части предназначены для повторной сборки получателем.

Некоторые приложения предупреждают пользователя, когда сообщение требует разделения, или даже отправляют более длинное сообщение в виде мультимедийного сообщения (MMS).

Таблицы смены национальных языков

Начиная с выпуска 8 стандарта 3GPP 23.038 от марта 2008 г., к дополнительным наборам символов можно получить доступ с помощью таблиц сдвига национальных языков.

Эти таблицы позволяют использовать различные наборы символов в зависимости от языка, на котором будет написан текст. Таблица для данного сообщения выбирается в разделе « Заголовок пользовательских данных » SMS-сообщения и может быть указана для всего текста ( таблица с блокировкой сдвига, заменяющая стандартную 7-битную алфавитную таблицу по умолчанию GSM) или для одного символа ( одиночный сдвиг таблицу, заменяющую 7-битную таблицу расширений алфавита по умолчанию GSM). Блокировка и Одиночные таблицы сдвига вместе в том же сообщении возможно, если оба стандартная таблица алфавита по умолчанию и таблица расширения по умолчанию алфавита должны быть заменена.

Используя таблицу сдвига, сообщение может по-прежнему использовать 7-битную кодировку символов, но можно выбрать другой набор для правильного отображения акцентированных и языковых символов. Это позволяет использовать до 155 символов, закодированных в 136 октетов (140 октетов, за вычетом 4 октетов заголовка пользовательских данных, необходимых для указания использования таблицы сдвига и кода языка). В таблицах с блокировкой и одинарной сменой допускается до 152 символов, закодированных в 133 октета (140 октетов, минус 7 октетов заголовка пользовательских данных ).

Символы из любой таблицы с блокировкой сдвига занимают один септет, символы из таблицы одинарного сдвига (или таблицы расширения базового набора символов) занимают два септета.

Изначально были указаны таблицы смен только для турецкого языка; В более поздних версиях версии 8 были добавлены испанский и португальский языки. В версии 9 представлены 10 языков, используемых в Индии, написанных с использованием брахмических шрифтов (бенгали, гуджарати, хинди, каннада, малаялам, ория, пенджаби, тамильский, телугу) и урду .

До сих пор не существует определенной таблицы сдвига национального языка для французского, греческого, русского, болгарского, арабского, иврита и большинства центральноевропейских языков, которые нуждаются в лучшем охвате, чем 7-битный стандартный набор символов по умолчанию и 7-битный расширенный набор символов по умолчанию: если когда-либо составлен какой-либо символ, который не может быть представлен в этих 7-битных наборах GSM по умолчанию, сообщение будет автоматически перекодировано с использованием UCS-2 с эффектом деления более чем на два максимальной длины в символах сообщений, которые могут быть отправлены по цене одного SMS (когда сообщение разбито на несколько частей, в заголовке пользовательских данных требуется еще несколько октетов, чтобы указать порядковый номер каждой части).

Хотя в редакции GSM 03.38 (уже в версии 4.0.1 от сентября 1994 г.) определены значения схемы кодирования данных для системы сотового вещания (CBS) для немецкого, английского, итальянского, французского, испанского, голландского, шведского, датского, финского языков. , Норвежский, греческий и турецкий; с добавлением в более поздних редакциях венгерского, польского, чешского, иврита, арабского, русского и исландского языков, таблицы кодирования для этих языков не определены. Это поле предназначалось исключительно для определения языка сообщения.

Также нет таблицы языкового сдвига для японского, написанного базовыми канами, для корейского, написанного хангыльским чамос, или для китайского, написанного ханьским письмом. В Японии это часто не проблема, поскольку для обмена сообщениями используются стандарты, отличные от GSM и WAP. Два других языка также содержат слишком много разных символов, чтобы поместиться в 7-битную таблицу сдвига.

Испанский язык (латиница)

Для испанского языка нет специального набора символов с блокировкой сдвига. Использует базовый набор символов по умолчанию.

Базовый набор символов
по умолчанию
(для испанского языка не определена блокирующая таблица сдвига)
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 ¡ п ¿ п
0x01 £ _ ! 1 А Q а q
0x02 $ Φ " 2 B р б р
0x03 ¥ Γ # 3 C S c s
0x04 è Λ ¤ 4 D Т d т
0x05 é Ω % 5 E U е ты
0x06 ù Π & 6 F V ж v
0x07 я Ψ ' 7 грамм W грамм ш
0x08 ò Σ ( 8 ЧАС Икс час Икс
0x09 Ç Θ ) 9 я Y я y
0x0A LF Ξ * : J Z j z
0x0B Ø ESC + ; K Ä k ä
0x0C ø Æ , < L Ö л ö
0x0D CR æ - знак равно M Ñ м ñ
0x0E Å SS . > N Ü п ü
0x0F å É / ? О § о à
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для испанского языка
UDH содержит 0x24 0x01 0x02
  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 - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Португальский язык (латиница)

Блокирующий набор символов Shift
для португальского языка
UDH содержит 0x25 0x01 0x03
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 Я п ~ п
0x01 £ _ ! 1 А Q а q
0x02 $ ª " 2 B р б р
0x03 ¥ Ç # 3 C S c s
0x04 ê А º 4 D Т d т
0x05 é % 5 E U е ты
0x06 ú ^ & 6 F V ж v
0x07 я \ ' 7 грамм W грамм ш
0x08 ó ( 8 ЧАС Икс час Икс
0x09 ç Ó ) 9 я Y я y
0x0A LF | * : J Z j z
0x0B Ô ESC + ; K Ã k ã
0x0C ô Â , < L Õ л х
0x0D CR â - знак равно M Ú м `
0x0E Á Ê . > N Ü п ü
0x0F á É / ? О § о à
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для португальского языка
UDH содержит 0x24 0x01 0x03
  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 - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Турецкий язык (латиница)

Блокирующий набор символов Shift
для турецкого языка
UDH содержит 0x25 0x01 0x01
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ Δ SP 0 Я п ç п
0x01 £ _ ! 1 А Q а q
0x02 $ Φ " 2 B р б р
0x03 ¥ Γ # 3 C S c s
0x04 Λ ¤ 4 D Т d т
0x05 é Ω % 5 E U е ты
0x06 ù Π & 6 F V ж v
0x07 я Ψ ' 7 грамм W грамм ш
0x08 ò Σ ( 8 ЧАС Икс час Икс
0x09 Ç Θ ) 9 я Y я y
0x0A LF Ξ * : J Z j z
0x0B ГРАММ ESC + ; K Ä k ä
0x0C грамм Ş , < L Ö л ö
0x0D CR ş - знак равно M Ñ м ñ
0x0E Å SS . > N Ü п ü
0x0F å É / ? О § о à
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для турецкого языка
UDH содержит 0x24 0x01 0x01
  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 - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык урду (арабский и базовые латинские шрифты)

Он также может использоваться для языка синдхи, также написанного арабским шрифтом.

Иногда его можно использовать и для арабского языка , но восточные цифры (закодированные здесь в их персидско-индуистском варианте) не будут использоваться в этом случае, потому что стандартный арабский язык предпочитает свои традиционные восточно-арабские цифры и часто будет заменен западными. Арабские цифры (закодированные в блокирующем наборе символов сдвига в столбце 0x30), которые теперь также часто используются в урду. Однако в Индии телефоны, распознающие обозначение арабского языка, могут заменять персидско-индуистские варианты восточно-арабских цифр традиционными восточно-арабскими цифрами.

Блокировка набора символов Shift
для языка урду
UDH содержит 0x25 0x01 0x0D
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ا ث SP 0 ص ں ◌ٔ п
0x01 آ ج ! 1 ض ڻ а q
0x02 ب ځ ڏ 2 ط ڼ б р
0x03 ٻ ڄ ڍ 3 ظ و c s
0x04 ڀ ڃ ذ 4 ع ۄ d т
0x05 پ څ ر 5 ف ە е ты
0x06 ڦ چ ڑ 6 ق ہ ж v
0x07 ت ڇ ړ 7 ک ھ грамм ш
0x08 ۂ ح ) 8 ڪ ء час Икс
0x09 ٿ خ ( 9 ګ ی я y
0x0A LF د ڙ : گ ې j z
0x0B ٹ ESC ز ; ڳ ے k ◌ٕ
0x0C ٽ ڌ , ښ ڱ ◌ٍ л ◌ّ
0x0D CR ڈ ږ س ل ◌ِ м ◌ٓ
0x0E ٺ ډ . ش م ◌ُ п ◌ٖ
0x0F ټ ڊ ژ ? ن ◌ٗ о ◌ٰ
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка урду
UDH содержит 0x24 0x01 0x0D
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < ۴ ◌ؓ | п    
0x01 £ знак равно ۵ ◌ؔ А Q    
0x02 $ > ۶ ؛ B р    
0x03 ¥ ¡ ۷ ؟ C S    
0x04 ¿ ^ ۸ ـ D Т    
0x05 " ¡ ۹ ◌ْ E U  
0x06 ¤ _ ، ◌٘ F V    
0x07 % # ؍ ٫ грамм W    
0x08 & * { ٬ ЧАС Икс    
0x09 ' ؀ } ٲ я Y    
0x0A FF ؁ ؎ ٳ J Z    
0x0B * SS2 ؏ ۍ K      
0x0C + ۰ ◌ؐ [ L      
0x0D CR2 ۱ ◌ؑ ~ M      
0x0E - ۲ ◌ؒ ] N      
0x0F / ۳ \ ۔ О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык хинди (деванагари и основные латинские шрифты)

Блокирующий набор символов Shift
для языка хинди
UDH содержит 0x25 0x01 0x06
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ँ SP 0 ◌ा п
0x01 ◌ं ! 1 ◌ि а q
0x02 ◌ः 2 ◌ी б р
0x03 3 ◌ु c s
0x04 4 ◌ू d т
0x05 5 ◌ृ е ты
0x06 6 ◌ॄ ж v
0x07 7 ◌ॅ грамм ш
0x08 ) 8 ◌ॆ час Икс
0x09 ( 9 ◌े я y
0x0A LF : ◌ै j z
0x0B ESC ; ◌ॉ k
0x0C , ◌ॊ л
0x0D CR ◌ो м
0x0E . ◌़ ◌ौ п
0x0F ? ◌् о ॿ
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка хинди
UDH содержит 0x24 0x01 0x06
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < ज़ | п    
0x01 £ знак равно ड़ А Q    
0x02 $ > ढ़ B р    
0x03 ¥ ¡ फ़ C S    
0x04 ¿ ^ य़ D Т    
0x05 " ¡ E U  
0x06 ¤ _ ◌॑ F V    
0x07 % # ◌॒ ◌ॢ грамм W    
0x08 & * { ◌ॣ ЧАС Икс    
0x09 ' } я Y    
0x0A FF ◌॓ J Z    
0x0B * SS2 ◌॔   K      
0x0C + क़ [ L      
0x0D CR2 ख़ ~ M      
0x0E - ग़ ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Бенгальский и ассамский языки (бенгали и основные латинские шрифты)

Набор символов блокировки Shift
для бенгальского и ассамского языков
UDH содержит 0x25 0x01 0x04
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ঁ SP 0 ◌ব п
0x01 ◌ং   ! 1 ◌ি а q
0x02 ◌ঃ   2 ◌ী б р
0x03 3 ◌ু c s
0x04 4 ◌ূ d т
0x05 5   ◌ৃ е ты
0x06 6 ◌ৄ ж v
0x07 7     грамм ш
0x08 ) 8     час Икс
0x09 ( 9   ◌ে я y
0x0A LF : ◌ৈ j z
0x0B ESC ;   k ◌ৗ
0x0C   ,     л ড়
0x0D CR ◌ো м ঢ়
0x0E   . ◌় ◌ৌ п
0x0F ? ◌্ о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для бенгальского и ассамского языков
UDH содержит 0x24 0x01 0x04
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < | п    
0x01 £ знак равно А Q    
0x02 $ > B р    
0x03 ¥ ¡ C S    
0x04 ¿ ^ য় D Т    
0x05 " ¡   E U  
0x06 ¤ _   F V    
0x07 % # ◌ৢ   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF ◌ৣ   J Z    
0x0B * SS2   K      
0x0C + [ L      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык пенджаби (гурмухи и базовые латинские шрифты)

Блокирующий набор символов Shift
для языка панджаби
UDH содержит 0x25 0x01 0x0A
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ਁ SP 0 ◌ਾ ◌ੑ п
0x01 ◌ਂ   ! 1 ◌ਿ а q
0x02 ◌ਃ   2 ◌ੀ б р
0x03 3 ◌ੁ c s
0x04 4 ◌ੂ d т
0x05 5     е ты
0x06 6   ж v
0x07 7 ਲ਼   грамм ш
0x08 ) 8     час Икс
0x09   ( 9 ◌ੇ я y
0x0A LF : ਸ਼ ◌ੈ j z
0x0B   ESC ;     k ◌ੰ
0x0C   ,     л ◌ੱ
0x0D CR ◌ੋ м
0x0E   . ◌਼ ◌ੌ п
0x0F ?   ◌੍ о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка панджаби
UDH содержит 0x24 0x01 0x0A
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | п    
0x01 £ знак равно   А Q    
0x02 $ >   B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U  
0x06 ¤ _ ਖ਼   F V    
0x07 % # ਗ਼   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF ਜ਼   J Z    
0x0B * SS2   K      
0x0C + ਫ਼ [ L      
0x0D CR2 ◌ੵ ~ M      
0x0E -   ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык гуджарати (гуджарати и основные латинские шрифты)

Блокирующий набор символов Shift
для языка гуджарати
UDH содержит 0x25 0x01 0x05
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ઁ SP 0 ◌ા п
0x01 ◌ં ! 1 ◌િ а q
0x02 ◌ઃ   2 ◌ી б р
0x03 3 ◌ુ c s
0x04 4 ◌ૂ d т
0x05 5   ◌ૃ е ты
0x06 6 ◌ૄ ж v
0x07 7 ◌ૅ грамм ш
0x08 ) 8     час Икс
0x09 ( 9 ◌ે я y
0x0A LF : ◌ૈ j z
0x0B ESC ; ◌ૉ k
0x0C ,     л
0x0D CR ◌ો м ◌ૢ
0x0E   . ◌઼ ◌ૌ п ◌ૣ
0x0F ? ◌્ о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка гуджарати
UDH содержит 0x24 0x01 0x05
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | п    
0x01 £ знак равно   А Q    
0x02 $ >   B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U  
0x06 ¤ _     F V    
0x07 % #     грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF     J Z    
0x0B * SS2     K      
0x0C +   [ L      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык ория (ория и основные латинские шрифты)

Блокирующий набор символов Shift
для языка ория
UDH содержит 0x25 0x01 0x09
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ଁ SP 0 ◌ା ◌ୖ п
0x01 ◌ଂ   ! 1 ◌ି а q
0x02 ◌ଃ   2 ◌ୀ б р
0x03 3 ◌ୁ c s
0x04 4 ◌ୂ d т
0x05 5   ◌ୃ е ты
0x06 6 ж v
0x07 7   грамм ш
0x08 ) 8     час Икс
0x09 ( 9 ◌େ я y
0x0A LF : ◌ୈ j z
0x0B ESC ;   k ◌ୗ
0x0C   ,     л
0x0D CR ◌ୋ м
0x0E   . ◌଼ ◌ୌ п ◌ୢ
0x0F ? ◌୍ о ◌ୣ
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Односменный набор символов
для языка ория
UDH содержит 0x24 0x01 0x09
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | п    
0x01 £ знак равно   А Q    
0x02 $ >   B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U  
0x06 ¤ _ ଡ଼   F V    
0x07 % # ଢ଼   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ L      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Тамильский язык (тамильский и базовый латинский алфавит)

Блокирующий набор символов Shift
для тамильского языка
UDH содержит 0x25 0x01 0x0B
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00   SP 0   ◌ா п
0x01 ◌ஂ   ! 1   ◌ி а q
0x02 ◌ஃ 2 ◌ீ б р
0x03   3 ◌ு c s
0x04   4 ◌ூ d т
0x05   5   е ты
0x06   6   ж v
0x07   7   грамм ш
0x08   ) 8 ◌ெ час Икс
0x09   ( 9 ◌ே я y
0x0A LF   : ◌ை j z
0x0B   ESC   ;   k ◌ௗ
0x0C     , ◌ொ л
0x0D CR   ◌ோ м
0x0E   .     ◌ௌ п
0x0F ?   ◌் о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для тамильского языка
UDH содержит 0x24 0x01 0x0B
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ <   | п    
0x01 £ знак равно   А Q    
0x02 $ >   B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U  
0x06 ¤ _   F V    
0x07 % #   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ L      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Телугу (телугу и основные латинские шрифты)

Блокирующий набор символов Shift
для языка телугу
UDH содержит 0x25 0x01 0x0C
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 ◌ఁ SP 0 ◌ా ◌ౕ п
0x01 ◌ం   ! 1 ◌ి а q
0x02 ◌ః 2 ◌ీ б р
0x03 3 ◌ు c s
0x04 4 ◌ూ d т
0x05 5 ◌ృ е ты
0x06 6 ◌ౄ ж v
0x07 7   грамм ш
0x08 ) 8   ◌ె час Икс
0x09 ( 9 ◌ే я y
0x0A LF : ◌ై j z
0x0B ESC ;   k ◌ౖ
0x0C   ,   ◌ొ л
0x0D CR ◌ో м
0x0E .   ◌ౌ п ◌ౢ
0x0F ? ◌్ о ◌ౣ
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка телугу
UDH содержит 0x24 0x01 0x0C
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
0x00 @ < | п    
0x01 £ знак равно А Q    
0x02 $ > ౿ B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U    
0x06 ¤ _   F V    
0x07 % #   грамм W    
0x08 & * {   ЧАС Икс    
0x09 '   }   я Y    
0x0A FF     J Z    
0x0B * SS2   K      
0x0C + [ L      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык каннада (каннада и основные латинские шрифты)

Блокирующий набор символов Shift
для языка каннада
UDH содержит 0x25 0x01 0x07
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00   SP 0 п
0x01   ! 1 ಿ а q
0x02 2 б р
0x03 3 c s
0x04 4 d т
0x05 5 е ты
0x06 6 ж v
0x07 7   грамм ш
0x08 ) 8   час Икс
0x09 ( 9 я y
0x0A LF : j z
0x0B ESC ;   k
0x0C   ,   л
0x0D CR м
0x0E . п
0x0F ? о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Набор символов Single Shift
для языка каннада
UDH содержит 0x24 0x01 0x07
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00 @ <   | п    
0x01 £ знак равно   А Q    
0x02 $ >   B р    
0x03 ¥ ¡   C S    
0x04 ¿ ^   D Т    
0x05 " ¡   E U  
0x06 ¤ _   F V    
0x07 % #   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF   J Z    
0x0B * SS2     K      
0x0C +   ] L      
0x0D CR2   ~ M      
0x0E -   ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Язык малаялам (малаялам и основные латинские шрифты)

Блокирующий набор символов Shift
для языка малаялам
UDH содержит 0x25 0x01 0x08
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00   SP 0 п
0x01   ! 1 ി а q
0x02 2 б р
0x03 3 c s
0x04 4 d т
0x05 5 е ты
0x06 6 ж v
0x07 7   грамм ш
0x08 ) 8 час Икс
0x09 ( 9 я y
0x0A LF : j z
0x0B ESC ;   k
0x0C   ,   л
0x0D CR м
0x0E .   п
0x0F ? о
  • LF - это элемент управления переводом строки.
  • CR - это элемент управления возврата каретки или заполнитель.
  • ESC - это элемент управления Escape.
  • SP - это космический персонаж.
Односменный набор символов
для языка малаялам
UDH содержит 0x25 0x01 0x08
  0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70!  
0x00 @ < - п    
0x01 £ знак равно А Q    
0x02 $ > B р    
0x03 ¥ ¡ C S    
0x04 ¿ ^ ൿ D Т    
0x05 " ¡   E U  
0x06 ¤ _   F V    
0x07 % #   грамм W    
0x08 & * {   ЧАС Икс    
0x09 ' }   я Y    
0x0A FF   J Z    
0x0B * SS2   K      
0x0C + [ L      
0x0D CR2 ~ M      
0x0E - ] N      
0x0F / \   О      
  • FF - это элемент управления разрывом страницы. Если не распознан, он будет рассматриваться как LF .
  • CR2 - это управляющий символ. В этой позиции нельзя кодировать языковые символы.
  • SS2 - это второй элемент управления Single Shift Escape, зарезервированный для будущих расширений.

Смотрите также

использованная литература

внешние ссылки