Действующий
Команда ИСО/МЭК 15961-1 для конфигурирования идентификатора AFI имеет аргумент, позволяющий приложению определить, должен ли идентификатор AFI быть заблокирован или нет. Как отмечалось в 7.2.2, идентификатор AFI не должен блокироваться, если он используется как часть системы безопасности, когда используются два значения, одно для выданных предметов, а другое для предметов учета в фонде. Если в системе безопасности используются другие механизмы, идентификатор AFI может быть заблокирован по усмотрению отдельных библиотек. После блокировки идентификатор AFI уже не может быть разблокирован.
Формат данных указан в 7.2.3, а метод доступа в 7.2.6. Эти битовые значения комбинируются для создания байта, соответствующего значению идентификатора DSFID, как показано в таблице 4.
Битовая последовательность | Байт идентификатора формата хранения данных | ||
Метод доступа | Зарезервировано | Формат данных | |
00 | 0 | 00110 | 06 |
00 = "без каталога", когда кодируемые байты добавляются к непрерывному потоку байтов. |
Некоторые радиочастотные метки не имеют явной команды радиоинтерфейса для записи идентификатора формата хранения данных в заданную область памяти на метке. В ИСО/МЭК 15962 определяются правила для драйвера управления радиочастотными метками для автоматического определения, поддерживает ли конкретная радиочастотная метка твердую привязку идентификатора формата хранения данных к определенному месту в радиочастотной метке или оно задается программно.
Примечание - Данный процесс прозрачен для приложений и использует аналогичные функции из ИСО/МЭК 15962, которые используются для определения размера памяти и размера блока. С помощью этих процессов улучшаются возможности совместимости и выбора типов радиочастотных меток, более подходящих для отдельных видов предметов учета.
Для большинства элементов данных из таблицы 1 применяют типовые методы уплотнения по ИСО/МЭК 15962, как описано в следующем параграфе. Исключения подробно обсуждаются далее в данном подразделе.
Когда аргументы команды устанавливаются для уплотнения данных, по ИСО/МЭК 15962 автоматически выбирают наиболее эффективную схему уплотнения для каждого из представленных элементов данных. Это позволяет библиотекам гибко пользоваться алфавитно-цифровыми или цифровыми кодовыми структурами, с тем лишь неудобством, что при более сложных наборах знаков будет требоваться большее пространство для кодирования на радиочастотной метке. Также это дает возможность для более коротких кодов использовать (в целом) меньшее количество байтов.
Определяемый приложением аргумент можно использовать для кодирования зашифрованных извне данных, интерпретация которых известна только управляющей системе. Наиболее общим является кодирование с использованием поддержки в данной части ИСО 28560 индекса идентификатора объекта (OID) со значением 2 относительного идентификатора объекта (Relative-OID). Так как это битовая последовательность, никакого предварительного кодирования не требуется. Другое использование определяемого приложением аргумента возникает при кодировании ISIL для относительных идентификаторов со значениями 3 и 11. В этом случае код ISIL должен быть предварительно закодирован в соответствии с правилами, определенными в приложении С, а затем кодироваться в соответствии с ИСО/МЭК 15962 по правилам, определяемым приложением. Подобным образом, определяемый приложением аргумент применяют для кодирования относительного идентификатора объекта со значением 5 для элемента данных "Тип использования", со значением 19 для "Медиа-формат (другой)" и со значением 20 для "Этап цепи поставки".
Строку в формате UTF-8 используют для представления знаков, не входящих в набор знаков по умолчанию по ИСО/МЭК 8859-1. В основном это используется для языков с наборами знаков, отличными от набора латинских знаков N 1. Данная схема уплотнения должна объявляться только тогда, когда строку знаков в формате UTF-8 кодируют в элементы со значениями относительных идентификаторов 15, 16, 17 и 26.
Схемы уплотнения идентифицируют в радиочастотной метке 3-битовым кодом, который включают как часть компонента-предшественника (см. 7.4.5.2). Весь набор схем уплотнения и их коды приведены в таблице 5.
Код | Название | Описание |
000 | Определяется приложением | В соответствии с определением схемы приложением |
001 | Целочисленная | Целочисленная |
010 | Цифровая | Строка цифровых символов (от "0" до "9") |
011 | 5-битные коды | Буквы верхнего регистра |
100 | 6-битные коды | Буквы верхнего регистра, цифры и т.п. |
101 | 7-битные коды | US ASCII |
110 | Строка октетов | Неизмененная 8-битовая (по умолчанию в соответствии с ИСО/МЭК 8859-1) |
111 | Строка UTF-8 | Внешнее уплотнение в соответствии с ИСО/МЭК 10646 |
Кодирование относительного идентификатора объекта и данных объекта в радиочастотной метке производят, следуя специальной последовательной структуре, определенной в ИСО/МЭК 15962. В следующих двух подразделах определяются основные правила, имеющие отношение к данной части ИСО 28560.
Примечание - В ИСО/МЭК 15962 определяются и другие правила, не описанные здесь, например для кодирования всего идентификатора объекта. Если они используются для кодирования любых данных, совместимый декодер должен иметь возможность декодировать идентификатор объекта и данные.
Структура кодированного набора данных для относительного идентификатора объекта со значениями от 1 до 14 состоит из следующих компонентов:
- компонент-предшественник, задаваемый одним байтом, который в данном случае используют для кодирования схемы уплотнения и относительного идентификатора объекта;
Рисунок 4 - Набор данных по ИСО/МЭК для относительного идентификатора объекта со значениями от 1 до 14
Большинство элементов данных, определенных в данной части ИСО 28560, имеют значение относительного идентификатора от 1 до 14. Они непосредственно кодируются в байт-предшественник (см. таблицу 6), что снижает требуемый для кодирования объем памяти.
Бит смещения в байте-предшественнике принимает значение "1", если только байт смещения записывается в радиочастотной метке. Пример использования байта смещения приведен в 7.4.5.4.
Байт-предшественник содержит только 4 бита для кодирования идентификатора объекта. Это дает возможность только для кодирования относительного идентификатора объекта со значениями от 1, который кодируют как 0001 , до 14, который кодируют как 1110 . Для значений идентификатора объекта от 15 до 127, из которых некоторые используются в данной части ИСО 28560, последние четыре бита байта-предшественника принимают значения 1111. Это означает, что относительный идентификатор объекта должен явно кодироваться как отдельный компонент (один байт) в наборе данных, как показано на рисунке 5.
Рисунок 5 - Набор данных по ИСО/МЭК для относительного идентификатора объекта со значениями от 15 до 127
Кодируемое значение относительного идентификатора объекта представляет собой значение со смещением на - 15. Это означает, что значение относительного идентификатора объекта 15 кодируется как 15-15 = 0 = 00 . Наибольшее значение относительного идентификатора объекта 127 может быть закодировано указанным способом как 127 - 15 = 112 = 70 .
В зависимости от требований применения один или более элементов данных может быть заблокирован. Аргумент блокировки объекта в команде приложения фактически сообщает, что весь набор данных должен быть заблокирован. Это позволяет избежать того, что одни компоненты будут неизменяемыми, а другие изменяемыми. В соответствии с описанием протокола радиоинтерфейса по ИСО/МЭК 18000-3 Mode 1, разрешается осуществлять блокирование поблочно. В общем случае любой набор данных, требующий блокировки, должен иметь такую схему расположения по блокам, что байт-предшественник должен быть в первом байте блока, и следующий набор данных также должен начинаться с первого байта блока. Правила кодирования приводят к необходимости перегруппировки данных и вставки байта смещения сразу за байтом-предшественником. Смещение задается нулевыми байтами (обычно со значением 00 , но 80 также допустимо), которые добавляются после последнего байта данных с уплотнением в конец до границы блока.
Каждое из значений байта-заполнителя или нулевых байтов имеет один и тот же статус. Значение, кодируемое в байте смещения, определяет число пропущенных байтов после данных с уплотнением для нахождения байта-предшественника следующего кодированного набора данных. Нулевой байт со значением 80 предпочтителен для минимизации числа операций радиоинтерфейса при изменении или удалении данных.
В процессе декодирования предполагается принимать радиочастотные метки с одним или другим кодированным значением байта-заполнителя и даже с различными значениями этих байтов на одной и той же метке.
Хотя вся обработка осуществляется автоматически программным обеспечением, реализующим правила кодирования по ИСО/МЭК 15962, следующие описания включены в стандарт для лучшего понимания некоторых фактов, которые необходимо принимать во внимание:
- если набор данных непосредственно предшествует набору данных, который должен быть заблокирован, но при этом сам он должен остаться разблокированным, правила кодирования требуют, чтобы этот набор данных заканчивался на границе блока. Это должно гарантировать, что при блокировке не будут затронуты завершающие байты незаблокированного набора данных. Данный процесс может привести к необходимости вставки байта смещения и изменения значения байта-предшественника;
- если два или более смежных наборов данных должны быть блокированы, выравнивание блока требуется только в начале первого заблокированного набора данных и в конце последнего заблокированного набора данных. Исходя из этого, должно быть понятно, что большая эффективность кодирования и меньшее число байтов могут быть получены при совместной группировке наборов данных, которые необходимо блокировать;