Набор символов MARC -8 — это стандарт MARC , используемый в библиотечных записях MARC-21 . [1] Форматы MARC — это стандарты для представления и передачи библиографической и связанной информации в машиночитаемой форме, и они часто используются в системах библиотечных баз данных . Кодировка символов , теперь известная как MARC-8, была введена в 1968 году как часть формата MARC. Первоначально основанная на латинском алфавите , с 1979 по 1983 год инициатива JACKPHY расширила репертуар, включив в него японские, арабские, китайские и еврейские символы (среди прочих), с последующим добавлением кириллицы и греческого алфавита. Если символ не может быть представлен в MARC-8 записи MARC-21, то вместо него необходимо использовать UTF-8 . UTF-8 поддерживает гораздо больше символов, чем MARC-8, который редко используется за пределами библиотечных данных.
MARC-8 использует вариант кодировки ISO-2022 . Он использует escape-символы для представления символов за пределами 7-битного диапазона символов ASCII .
Обычно он использует тот же логический порядок BiDi, что и Unicode .
Объединенные символы и базовые символы находятся в другом порядке, чем в Unicode. Ниже приведены некоторые примеры. Объединенные символы не всегда хранятся в обратном порядке, как нормализация Unicode . Стандарт MARC-21 более подробно описывает проблемы преобразования MARC-8 Unicode.
Кодировка ISO /IEC 2022 определяет двухслойное отображение между кодами символов и отображаемыми символами. В MARC-8 коды символов из 7-битного графического диапазона ASCII (0x20–0x7F) называются кодами «G0», а коды из диапазона «high ASCII» (0xA0–0xFF) называются кодами «G1». Наборы графических символов обозначаются и вызываются с помощью многобайтовой escape-последовательности, состоящей из escape-символа, промежуточной последовательности символов и конечного символа в форме ESC I F .
В следующей таблице показан промежуточный байт после байта ESC (шестнадцатеричный 1B) и соответствующие ему символы ASCII.
В следующей таблице показаны конечные байты в шестнадцатеричном формате и соответствующие им символы ASCII после промежуточных байтов.
EACC — единственная многобайтовая кодировка MARC-8, она кодирует каждый символ CJK тремя байтами ASCII.
Например, для кодирования символа U+4EBA CJK (人) вам понадобятся следующие байты:
\x1B\x24\x31\x21\x30\x64
\x1B\x24\x31 переключает на EACC/CJK, а \x21\x30\x64 соответствует U+4EBA.
В дополнение к наборам символов ISO-2022 также доступны следующие пользовательские наборы. Обозначение байта следует за escape-байтом (шестнадцатеричное 1B). Промежуточный байт отсутствует.
MARC 21 использует GS (0x1D) в качестве ограничителя записи, RS (0x1E) в качестве ограничителя поля и US (0x1F) в качестве разделителя подполя. [3]
Следующий альтернативный набор кодов управления C1 определен для библиографических приложений, таких как библиотечные системы . Он в основном касается сортировки строк и разметки библиографических полей. Немного отличающиеся варианты определены в немецком стандарте DIN 31626 [4] (опубликован в 1978 году и с тех пор отозван) [5] и стандарте ISO ISO 6630 , [6] [7] последний из которых также был принят в Германии как DIN ISO 6630 . [8] Где они различаются, указано в таблице ниже, где это применимо. MARC-8 использует кодировку NSB и NSE из этого набора и добавляет некоторые дополнительные эффекторы формата в местах, не используемых версией ISO; однако MARC 21 использует этот набор элементов управления только в записях MARC-8, а не в записях в формате Unicode. [3]
При использовании механизма расширения ISO/IEC 2022 набор DIN 31626 обозначается как активный набор управляющих символов C1 с помощью последовательности 0x1B 0x22 0x45
( ESC " E
), [4] а набор ISO 6630 / DIN ISO 6630 обозначается с помощью последовательности 0x1B 0x22 0x42
( ESC " B
). [6] Расширение 1985 года набора ISO 6630 также может быть явно указано с помощью последовательности 0x1B 0x26 0x40 0x1B 0x22 0x42
( ESC & @ ESC " B
). [7]
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка )