WikiDer > 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

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

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