MARC-8 - MARC-8

В MARC-8 кодировка - это Стандарт MARC используется в MARC-21 библиотечные записи.[1] Форматы MARC - это стандарты для представления и передачи библиографической и связанной информации в машиночитаемой форме, и они часто используются в системы библиотечных баз данных. В кодировка символов теперь известный как MARC-8, был представлен в 1968 году как часть формата MARC. Первоначально на основе Латинский алфавит, с 1979 по 1983 гг. ДЖЕКФИ Инициатива расширила репертуар, включив японские, арабские, китайские и еврейские символы (среди прочего), с более поздним добавлением кириллицы и греческого алфавита. Если символ не может быть представлен в MARC-8 записи MARC-21, то UTF-8 должен использоваться вместо этого. UTF-8 поддерживает намного больше символов, чем MARC-8, который редко используется вне данных библиотеки.

Технические подробности

MARC-8 использует вариант ISO-2022 кодирование. Он использует escape-символы для представления символов за пределами 7-битного ASCII диапазон символов.

Обычно используется тот же логический BiDi заказывая как Unicode.

Комбинированные символы и базовые символы расположены в другом порядке, чем в Unicode. Ниже приведены некоторые примеры. Комбинированные символы не всегда хранятся в обратном порядке, так как Юникод нормализация. Стандарт MARC-21 более подробно описывает проблемы преобразования Unicode в MARC-8.

Отображается

символ

Unicode

NFD

MARC-8
áа ́ ́ а
а ̣ ̂ ̂ ̣ а

Структура кода

В ISO / IEC 2022 coding определяет двухуровневое соответствие между кодами символов и отображаемыми символами. В MARC-8 коды символов из 7-битного графического диапазона ASCII (0x20–0x7F) называются кодами «G0», а коды из «высокого диапазона ASCII» (0xA0–0xFF) называются «G1». "коды. Наборы графических символов обозначаются и вызываются посредством многобайтовой escape-последовательности, состоящей из escape-символа, промежуточной последовательности символов и конечного символа в форме ESC. я F.

В следующей таблице показан промежуточный байт после байта ESC (шестнадцатеричный 1B) и соответствующие символы ASCII.

Промежуточные байты[2]
G0 установленНабор G1
SBCSMBCSSBCSMBCS
Нормальный ISO-202228(24$29)24 29$)
Альтернативный ISO-2022 (дополнительные 63 + 16 комплектов)2C,24 2C$,2D-24 2D$-

В следующей таблице показаны последние байты в шестнадцатеричном формате и соответствующие символы ASCII после промежуточных байтов.

Конечные байты[3]
БайтовСимволыимяТипКомментарий
311Китайский, японский, корейский (EACC )MBCS
322Базовый ивритSBCS
333Базовый арабскийSBCS
344Расширенный арабскийSBCS
42BБазовая латынь (ASCII )SBCS
21 45! EРасширенная латиница (ANSEL )SBCS21 (шестнадцатеричный) технически является вторым байтом промежуточного сегмента этой escape-последовательности.
4ENБазовая кириллицаSBCS
51QРасширенная кириллицаSBCS
53SБазовый греческийSBCS

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, доступны также следующие пользовательские наборы. Обозначение байта следует за байтом перехода (шестнадцатеричный 1B). Промежуточного байта нет.

Конечные байты[4]
БайтовСимволыимяТипКомментарий
62бНабор нижнего индексаSBCS
67гНабор греческих символовSBCSСимволы альфа, бета и гамма обычно не поддерживают Unicode.
70пНабор надстрочных знаковSBCS
73sБазовая латынь (ASCII )SBCS

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

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