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 .

Объединенные символы и базовые символы находятся в другом порядке, чем в 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). Промежуточный байт отсутствует.

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

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

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

Следующий альтернативный набор кодов управления 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]

Примечания

  1. ^ Не то же самое, что команда операционной системы (OSC) в кодовом наборе ISO/IEC 6429 C1.
  2. ^ В документе ISO-IR-040 написано "Syllabication [ sic ]", а в описании "syllable" написано "syllabe [ sic ]". Вероятно, это типографские ошибки.

Ссылки

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

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