stringtranslate.com

МАРК-8

Кодировка 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 .

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

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

Кодирование ISO/IEC 2022 определяет двухуровневое сопоставление между кодами символов и отображаемыми символами. В MARC-8 коды символов из 7-битного графического диапазона ASCII (0x20–0x7F) называются кодами «G0», а коды из диапазона «высокого 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). Промежуточного байта нет.

Коды управления C0

MARC 21 использует GS (0x1D) в качестве признака завершения записи, RS (0x1E) в качестве признака завершения поля и US (0x1F) в качестве разделителя подполя. [3]

Коды управления C1

Следующий альтернативный набор управляющих кодов C1 определен для библиографических приложений, таких как библиотечные системы . В основном он касается сопоставления строк и разметки библиографических полей. Немного разные варианты определены в немецком стандарте DIN 31626 [4] (опубликован в 1978 году и с тех пор отменен) [5] и стандарте ISO 6630 , [6] [7], последний из которых также был принят в Германии как DIN. ИСО 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] Расширение набора ISO 6630 1985 года также можно явно указать с помощью последовательности 0x1B 0x26 0x40 0x1B 0x22 0x42( ESC & @ ESC " B). [7]

Примечания

  1. ^ Не то же самое, что команда операционной системы (OSC) в кодовом наборе ISO/IEC 6429 C1.
  2. ^ В документе ISO-IR-040 пишется «Слоговое письмо [ так в оригинале ]», а в описании «слог» пишется как «слог [ так в оригинале ]». Это предположительно опечатки.

Рекомендации

  1. ^ «Наборы символов: Введение: Спецификации MARC 21 для структуры записей, наборов символов и средств обмена (Библиотека Конгресса)» . Библиотека Конгресса .
  2. ^ abc «Наборы символов: среда кодирования MARC-8: спецификации MARC 21 для структуры записей, наборов символов и средств обмена (Библиотека Конгресса)» . Библиотека Конгресса .
  3. ^ abcdef «Коды функций управления». MARC 21 Спецификации для структуры записи, наборов символов и носителей обмена . Библиотека Конгресса . 04.12.2007.
  4. ^ abc DIN (15 июля 1979 г.). Дополнительные коды контроля для библиографического использования в соответствии с немецким стандартом DIN 31626 (PDF) . ITSCJ/ IPSJ . ИСО-ИК -40.
  5. ^ «Обработка информации; символы библиографического контроля» . Бойт: издание DIN. DIN 31626:1978-12.
  6. ^ abcde ISO/TC 46 (1983-06-01). Дополнительные коды контроля для библиографического использования в соответствии с международным стандартом ISO 6630 (PDF) . ITSCJ/ IPSJ . ИСО-ИК -67.{{citation}}: CS1 maint: числовые имена: список авторов ( ссылка )
  7. ^ abcde ISO/TC 46 (1 февраля 1986 г.). Дополнительные коды контроля для библиографического использования в соответствии с международным стандартом ISO 6630 (PDF) . ITSCJ/ IPSJ . ИСО-ИК -124.{{citation}}: CS1 maint: числовые имена: список авторов ( ссылка )
  8. ^ "DIN ISO 6630, декабрь 1997 г." Интернет-магазин AFNOR Editions .
  9. ^ abcd «Расширенная латиница кодовой таблицы (ANSEL)» . MARC 21 Спецификации для структуры записи, наборов символов и носителей обмена . Библиотека Конгресса . 05.12.2007.

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