MARC-8

MARC-8 문자 집합은 MARC 표준으로, MARC-21 도서관 레코드에서 사용된다. MARC 형식은 서지 및 관련 정보를 기계가독형 형태로 표현하고 통신하기 위한 표준이며, 도서관 데이터베이스 시스템에서 자주 사용된다. 현재 MARC-8로 알려진 문자 인코딩은 1968년 MARC 형식의 일부로 도입되었다. 원래 라틴 음소문자를 기반으로 했으나, 1979년부터 1983년까지 JACKPHY 이니셔티브를 통해 일본어, 아랍어, 중국어, 히브리어 문자(그 외 다수)를 포함하도록 레퍼토리가 확장되었으며, 이후 키릴 문자와 그리스 문자가 추가되었다. MARC-21 레코드의 MARC-8로 표현할 수 없는 문자가 있을 경우, 대신 UTF-8을 사용해야 한다. UTF-8은 MARC-8보다 훨씬 더 많은 문자를 지원하며, MARC-8은 도서관 데이터 외부에서는 거의 사용되지 않는다.

기술적 세부사항

MARC-8은 ISO/IEC 2022 인코딩의 변형을 사용한다. 7비트 ASCII 문자 범위를 벗어나는 문자를 표현하기 위해 이스케이프 문자를 사용한다.

일반적으로 유니코드와 동일한 논리적 양방향 텍스트 순서를 사용한다.

조합 문자와 기본 문자는 유니코드와 다른 순서로 되어 있다. 다음은 몇 가지 예이다. 조합 문자는 유니코드 정규화처럼 항상 역순으로 저장되지는 않는다. MARC-21 표준은 MARC-8 유니코드 변환 문제를 더 자세히 설명하고 있다.

표시된

문자

유니코드

NFD

MARC-8
á a  ́   ́ a
ậ a   ̣   ̂   ̂   ̣ a

코드 구조

ISO/IEC 2022 코딩은 문자 코드와 표시되는 문자 간의 2계층 매핑을 지정한다. MARC-8에서 7비트 ASCII 그래픽 범위(0x20–0x7F)의 문자 코드는 "G0" 코드로, "high ASCII" 범위(0xA0–0xFF)의 코드는 "G1" 코드로 불린다. 그래픽 문자 집합은 이스케이프 문자, 중간 문자 시퀀스, 그리고 ESC I F 형식의 최종 문자로 구성된 다중 바이트 이스케이프 시퀀스를 통해 지정 및 호출된다.

다음 표는 ESC 바이트(16진수 1B) 다음의 중간 바이트와 그에 해당하는 ASCII 문자를 보여준다.

중간 바이트
G0 세트 G1 세트
SBCS MBCS SBCS MBCS
일반 ISO-2022 28 ( 24 $ 29 ) 24 29 $)
대체 ISO-2022 (추가 63+16 세트) 2C , 24 2C $, 2D - 24 2D $-

다음 표는 중간 바이트 뒤에 오는 16진수 형태의 최종 바이트와 그에 해당하는 ASCII 문자를 보여준다.

최종 바이트
바이트 문자 이름 형식 비고
31 1 중국어, 일본어, 한국어 (EACC) MBCS
32 2 기본 히브리어 SBCS
33 3 기본 아랍어 SBCS
34 4 확장 아랍어 SBCS
42 B 기본 라틴 문자 (ASCII) SBCS
21 45 !E 확장 라틴 문자 (ANSEL) SBCS 21(16진수)은 기술적으로 이 이스케이프 시퀀스의 중간 세그먼트의 두 번째 바이트이다.
4E N 기본 키릴 문자 SBCS
51 Q 확장 키릴 문자 SBCS
53 S 기본 그리스 문자 (ISO 5428) SBCS

EACC는 MARC-8의 유일한 다중 바이트 인코딩으로, 각 CJK 문자를 3개의 ASCII 바이트로 인코딩한다.

예를 들어, U+4EBA CJK 문자(人)를 인코딩하려면 다음 바이트가 필요하다.

 \x1B\x24\x31\x21\x30\x64

\x1B\x24\x31은 EACC/CJK로 전환하며, \x21\x30\x64는 U+4EBA에 해당한다.

사용자 정의 세트 확장

ISO-2022 문자 집합 외에도 다음 사용자 정의 세트를 사용할 수 있다. 바이트 지정은 이스케이프 바이트(16진수 1B)를 따른다. 중간 바이트는 없다.

최종 바이트
바이트 문자 이름 형식 비고
62 b 아래첨자 세트 SBCS
67 g 그리스 기호 세트 SBCS 알파, 베타, 감마 문자는 일반적으로 유니코드와 쌍방향 매핑되지 않는다.
70 p 위첨자 세트 SBCS
73 s 기본 라틴 문자 (ASCII) SBCS

C0 제어 코드

기계가독형 목록은 GS (0x1D)를 레코드 종결자로, RS (0x1E)를 필드 종결자로, US (0x1F)를 하위 필드 구분자로 사용한다.

C1 제어 코드

다음의 대체 C1 제어 코드 세트는 도서관 시스템과 같은 서지 응용 프로그램을 위해 정의되었다. 이는 주로 문자열 정렬 및 서지 필드의 마크업과 관련이 있다. 독일 표준 DIN 31626(1978년 발행 후 철회됨)과 ISO 표준 ISO 6630에서 약간 다른 변형이 정의되어 있으며, 후자는 독일에서 DIN ISO 6630으로 채택되었다. 이들이 다른 부분은 아래 표에 명시되어 있다. MARC-8은 이 세트의 NSB 및 NSE 코딩을 사용하며, ISO 버전에서 사용되지 않는 위치에 몇 가지 추가적인 형식 제어 기능을 추가한다. 그러나 MARC 21은 이 제어 세트를 유니코드 형식 레코드가 아닌 MARC-8 레코드에서만 사용한다.

ISO/IEC 2022 확장 메커니즘을 사용하는 경우, DIN 31626 세트는 시퀀스 0x1B 0x22 0x45 (ESC " E)를 통해 활성 C1 제어 문자 세트로 지정되며 ISO 6630 / DIN ISO 6630 세트는 시퀀스 0x1B 0x22 0x42 (ESC " B)로 지정된다. 1985년에 확장된 ISO 6630 세트는 시퀀스 0x1B 0x26 0x40 0x1B 0x22 0x42 (ESC & @ ESC " B)를 사용하여 명시적으로 지정할 수 있다.

Esc+DecHexAcroName설명
G13587CUSClose-Up for Sorting(DIN 31626, ISO 6630) 공백이나 구분 기호로 분리된 두 연속 문자 시퀀스를 정렬 목적으로 하나의 단어로 처리해야 함을 선언함.
H13688NSBNon-Sorting Characters Begin(DIN 31626, ISO 6630, MARC 21) 정렬 목적으로 무시할 문자 시퀀스의 시작을 표시함. 기계가독형 목록은 MARC-8 레코드에서 이 문자를 사용하지만, 유니코드 레코드에서는 같은 목적으로 0x98 (SOS)을 사용함.
I13789NSENon-Sorting Characters End(DIN 31626, ISO 6630, MARC 21) 정렬 목적으로 무시할 문자 시퀀스의 끝을 표시함. MARC 21은 MARC-8 레코드에서 이 문자를 사용하지만, 유니코드 레코드에서는 같은 목적으로 0x9C (ST)를 사용함.
J1388AFILFiller Character(DIN 31626) 필드 내 필수 영숫자 문자의 대체물.
K1398BTCITag in Context Indicator(DIN 31626) 서지 필드 내에서 태그 번호를 통해 다른 서지 필드의 데이터를 참조하는 데 사용됨.
PLDPartial Line Down(ISO 6630) ISO 6630 초판에는 없음. ISO 6630 1985년판에서 Partial Line Down(부분 라인 다운)에 사용됨( PLD 참조).
L1408CICIIdentification Number in Context Indicator(DIN 31626) 서지 필드 내에서 ID 번호를 통해 다른 서지 레코드의 데이터를 참조하는 데 사용됨.
PLUPartial Line Up(ISO 6630) ISO 6630 초판에는 없음. ISO 6630 1985년판에서 Partial Line Up(부분 라인 업)에 사용됨( PLU 참조).
M1418DOSCOptional Syllabification Control(DIN 31626) 긴 단어의 음절 경계를 표시함. soft hyphen도 참조.
ZWJJoiner(MARC 21) MARC-8에서는 너비 없는 결합자로 사용되며, 유니코드 형식 MARC 레코드에서는 U+200D가 사용됨.
N1428ESS2Single-Shift 2(DIN 31626) 비잠금 시프트 코드, SS2 참조.
ZWNJNon-Joiner(MARC 21) MARC-8에서는 너비 없는 비결합자로 사용되며, 유니코드 형식 MARC 레코드에서는 U+200C가 사용됨.
O1438FSS3Single-Shift 3(DIN 31626) 비잠금 시프트 코드, SS3 참조.
P14490-(예약됨)
Q14591EABEmbedded Annotation Beginning(DIN 31626, ISO 6630) 콘텐츠 지정을 통해 분리되는 방식이 아닌, 서지 필드 내에 포함된 가변 길이 주석의 시작을 표시함.
R14692EAEEmbedded Annotation End(DIN 31626, ISO 6630) 가변 길이 포함 주석의 끝을 표시함.
S14793ISBItem Specification Beginning(DIN 31626) 키워드나 순열 문자열이 아닌, 특정 설명이 담긴 정보 문자열의 시작을 표시함.
T14894ISEItem Specification End(DIN 31626) 특정 정보 문자열의 끝을 표시함.
U14995SIBSorting Interpolation Beginning(ISO 6630) 정렬 목적으로만 사용되는 문자 시퀀스의 시작을 표시함.
V15096SIESorting Interpolation End(ISO 6630) 정렬 목적으로만 사용되는 문자 시퀀스의 끝을 표시함.
W15197SSBSecondary Sorting Value Beginning(ISO 6630) 종속 정렬 값이 있는 문자열의 시작을 표시함.
X15298SSESecondary Sorting Value End(ISO 6630) 종속 정렬 값이 있는 문자열의 끝을 표시함.
Y15399INCIndicator for Non-Standard Character(DIN 31626) 뒤따르는 비표준 문자를 식별함.
Z1549A-(예약됨)
[1559B-(예약됨)
\1569CKWBKeyword Beginning(DIN 31626, ISO 6630) 서지 필드 내 키워드의 시작을 표시함.
]1579DKWEKeyword End(DIN 31626, ISO 6630) 서지 필드 내 키워드의 끝을 표시함.
^1589EPSBPermutation String Beginning(DIN 31626, ISO 6630) 참조나 색인이 생성될 때 요소의 앞으로 순열될 문자열의 시작을 표시함. PSE 또는 요소의 끝으로 종료됨.
_1599FPSEPermutation String End(DIN 31626, ISO 6630) 요소의 앞으로 순열될 문자열의 끝을 표시함.

내용주

  1. ↑ ISO/IEC 6429 C1 코드 세트의 Operating System Command (OSC)와는 동일하지 않음.

각주

  1. ↑ “Character Sets: Introduction: MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media (Library of Congress)”. 《미국 의회도서관》.
  2. 1 2 3 “Character Sets: MARC-8 Encoding Environment: MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media (Library of Congress)”. 《미국 의회도서관》.
  3. 1 2 3 4 5 6 “Control function codes”. 《MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media》. 미국 의회도서관. 2007년 12월 4일.
  4. 1 2 3 DIN (1979년 7월 15일). 《Additional Control Codes for Bibliographic Use according to German Standard DIN 31626》 (PDF). ITSCJ/IPSJ. ISO-IR-40.
  5. ↑ “Information processing; bibliographic control characters”. Beuth: publishing DIN. DIN 31626:1978-12.
  6. 1 2 3 4 5 ISO/TC 46 (1983년 6월 1일). 《Additional Control Codes for Bibliographic Use according to International Standard ISO 6630》 (PDF). ITSCJ/IPSJ. ISO-IR-67.
  7. 1 2 3 4 5 ISO/TC 46 (1986년 2월 1일). 《Additional Control Codes for Bibliographic Use according to International Standard ISO 6630》 (PDF). ITSCJ/IPSJ. ISO-IR-124.
  8. ↑ “DIN ISO 6630 December 1997”. 《AFNOR Editions Online Store》.
  9. 1 2 3 4 “Code Table Extended Latin (ANSEL)”. 《MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media》. 미국 의회도서관. 2007년 12월 5일.

외부 링크