|
AT-команды. Ч. 19. Приложения. 28 23. ПРИЛОЖЕНИЕ D23. ПРИЛОЖЕНИЕ DДанная таблица была взята из технического описания GSM Technical specification 11.14.
24. ПРИЛОЖЕНИЕ ЕКодирование буквенных полей в SIM для UCS2 Кодирование использует один из следующих трех способов или стандартный алфавит GSM. Если мобильное устройство поддерживает UCS2 кодирование буквенных полей в SIM, то оно будет поддерживать и все три схемы кодирования, которые могут содержать до 128 символов. Для наборов, содержащих более 128 символов, мобильное устройство будет поддерживать, как минимум, первую схему кодирования. В пределах одной записи может использоваться только одна схема кодирования: либо стандартный алфавит GSM, либо одна из трех схем, описанных ниже. 1) Если первым байтом буквенной строки является ‘0x80’, то остальные байты являются 16-битными символами UCS2. Старший байт символа UCS2 кодируется в самом нижнем по счету байте буквенного поля, а младший байт символа UCS2 кодируется в верхнем по счету байте буквенного поля. Другими словами, байт 2 буквенного поля содержит старший байт первого символа UCS2, а байт 3 буквенного поля содержит младший байт первого символа UCS2 (как показано ниже). Неиспользуемые байты кодируются как ‘FF’ : если буквенное поле имеет четную длину в байтах, то последний (неиспользуемый) байт будет содержать ‘FF’. Пример 1 MSB LSB MSB LSB MSB LSB 2) Если первым байтом буквенной строки является ‘0x81’, то второй байт будет содержать значение, указывающее на количество знаков в строке. Третий байт содержит 8-битный номер, задающий биты с 15 по 8 16-битного базового указателя, где бит 16 и биты с 7 по 1 будут иметь значение 0. Эти 16 бит представляют базовый указатель на «полстраницы» в кодовом пространстве UCS2, используемом при работе с остальными байтами строки. Четвертый и последующие байты строки кодируются следующим образом: • если бит 8 имеет значение 0, то оставшиеся биты содержат символы стандартного алфавита GSM • если бит 8 имеет значение 1, то оставшиеся биты будут смещением относительно 16-битного базового указателя, заданного байтом 3, и результирующее 16-битное значение имеет кодировку UCS2 и определяет символ UCS2 Пример 2
В приведенном примере: • Байт 2 означает, что в строке 5 символов. • Байт 3 указывает на биты с 15 по 8 базового указателя, и означает битовую комбинацию 0hhh hhhh h000 0000 как 16-битный номер базового указателя. Например, бенгальские символы начинаются с кодовой позиции 0980 (0 000 1001 1000 0000), которая задана кодировкой ‘13’ в байте 3. • Байт 4 означает символ стандартного алфавита GSM 53, например «S». • Байт 5 указывает на смещение символа UCS2 относительно базового указателя ‘15’, записанного двоичным кодом как 001 0101, которое после добавления к указателю базы становится 16-битным значением 0000 1001 1001 0101, или ‘0995’, что в бенгальском алфавите означает букву KA. • Байт 8 содержит значение ‘FF’: поскольку длина строки 5, это допустимый символ в строке, где битовая комбинация 111 1111 добавляется к базовому указателю, что дает 16-битное значение 0000 1001 1111 1111 для символа UCS2 (т.е. ‘09FF’). • Байт 9 просто заполнен значением OxFF 3) Если первый байт символьной строки имеет значение ‘0x82’, то второй байт содержит длину строки (количество символов). Третий и четвертый байты содержат 16-битный номер, который задает полный 16-битный базовый указатель на «полстраницы» в кодовом пространстве UCS2, для использования с некоторыми или всеми оставшимися байтами в строке. Пятый и последующий байты строки кодируются следующим образом: • если бит 8 имеет значение 0, то оставшиеся 7 бит содержат символы стандартного алфавита GSM, • если бит 8 имеет значение 1, то оставшиеся биты будут смещением относительно 16-битного базового указателя, заданному байтами 3 и 4, и результирующее 16-битное значение имеет кодировку UCS2 и определяет символ UCS2. Пример 3
В приведенном примере: • байт 2 означает, что в строке 5 символов. • байты 3 и 4 содержат 16-битный номер базовый указатель ‘0530’, указывающий на первый символ армянского алфавита. • Байт 5 содержит символ стандартного алфавита GSM ‘2D’ (тире «–»). • Байт 6 содержит значение ‘82’, что означает смещение ‘02’, добавляемое к базовому указателю, в результате получается код UCS2 символа ‘0532’, что соответствует армянскому заглавному BEN символу. • Байт 7 содержит значение ‘D3’, смещение ‘53’, который будучи добавленным к базовому указателю, дает USC2 символ ‘0583’,, что соответствует армянскому прописному символу PIWR. Создано на основании документации производителя (WAVECOM) === Реклама от спонсора ===
|
Последние комментарии
2 недели 1 день назад
9 недель 1 день назад
9 недель 1 день назад
9 недель 2 дня назад
9 недель 3 дня назад
9 недель 4 дня назад
11 недель 2 дня назад
11 недель 2 дня назад
12 недель 1 день назад
12 недель 1 день назад