Содержание:
1. Функция «КодСимвола()» в системе кодировки Unicode
2. Код символа в кодировке СР1251
Приветствую, коллеги! В данной статье речь пойдёт о том, как получать коды символов в 1С в стандартном виде, а также в кодировке СР1251 и кодировке ОЕМ. Кроме теоретических сведений, каждый случай будет рассмотрен на практическом примере.
Кодом символа называется особая подборка значений, состоящая только из чисел, соответствующих символам алфавитов, цифрам, знакам пунктуации и специальным символам. Код символов также называют кодовой станцией.
Чтобы проводить кодировку в операционной системе Windows, используют таблицы кодировки ASCII – American Standard Code for Interchange of Information. Стоит отметить, что в системе ASCII первые 120 символов принадлежат базовой таблице символов. А первые 32 кода в базовой таблице (включая нулевой) – это коды управления.
1. Функция «КодСимвола()» в системе кодировки Unicode
Специальную функция в системе 1С, которая помогает найти код символа, – это «КодСимвола()». Её синтаксис выглядит следующим образом:
Рисунок 1 Синтаксис функции "КодСимвола()"
Параметра у функции «КодСимвола()» два, рассмотрим их:
· «ИсходнаяСтрока» – это параметр строчного типа, который содержит исходную строку; данный параметр является обязательным;
· «НомерСимвола» – этот параметр числового типа обозначает порядковый номер символа внутри строки, код которого нам необходим. Нумерация символов внутри строки начинается с единицы, значение по умолчанию также «1».
Результатом работы данной функции является значение, которое она возвращает – это число, которое и является кодом символа, расположенным в строке, которая была передана строке с позицией, указанной номером. Полученный код принадлежит системе кодировки Unicode.
Данную функцию можно использовать на тонком клиенте, на веб-клиенте, на мобильном клиенте, на толстом клиенте, на сервере, при внешнем соединении, а также для мобильного приложения и на клиенте, и на сервере.
Рассмотрим, как выглядит и работает функция «КодСимвола()» на примере:
Рисунок 2 Функция «КодСимвола()» в системе кодировки Unicode
2. Код символа в кодировке СР1251
Иногда бывают случаи, когда нужно, например, получить контрольную сумму в строке, а для этого нужен код каждого из символов строки. Функция «КодСимвола()» возвращает код из системы кодировки Unicode. Рассмотрим пример для получения иной кодировки символа – СР1251:
Рисунок 3 Получение кода символа СР1251
3. Код в ОЕМ
Рассмотрим, как происходит получение кода в ОЕМ при помощи платформы 1С. Решение данной задачи основывается на значениях строк с типом «ДвоичныеДанные». Суть метода заключается в том, что первичная строка отправляется в файл при помощи объекта с типом «ТекстовыйДокумент». При этом используется кодировка ОЕМ. Далее появляется новый объект с типом «ДвоичныеДанные», который также основывается на файле и происходит анализ представления объекта в виде строки. При помощи строкового представления появляется возможность видеть байты, что и является кодом символов, в виде шестнадцатеричного представления. После этого остаётся только сделать преобразование из кодов шестнадцатеричного вида в коды десятичного вида.
Далее приведён пример такой функции, которая выполняет всё вышеописанное и преобразует строку в код ОЕМ:
Рисунок 4 Преобразование строки в код ОЕМ
Специалист компании «Кодерлайн»
Анна Лисовая