The Full Wiki

MARC-8: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

The MARC-8 charset is a MARC standard used in MARC-21 library records. The MARC formats are standards for the representation and communication of bibliographic and related information in machine-readable form, and they are frequently used in library computer systems. The encoding now known as MARC-8 was introduced in 1968 with the beginning of the use of the MARC format. Over the years it has grown to include code points for a large repertoire of characters including Latin, Cyrillic, Arabic, Hebrew, and Greek scripts and over 15,000 characters used in writing Chinese, Japanese and Korean. If a character is not representable in MARC-8 of a MARC-21 record, then UTF-8 must be used instead. UTF-8 has support for many more characters than MARC-8. MARC-8 is rarely used outside of library records.


Technical Details

MARC-8 uses a variant of the ISO-2022 encoding. It uses escape characters to represent characters beyond the 7-bit ASCII range of characters.

It generally uses the same logical BiDi ordering as Unicode.

The combining characters and base characters are in a different order than used in Unicode. The following are some examples. The combining characters are not always stored in reverse order as Unicode normalization. The MARC-21 standard describes the MARC-8 Unicode conversion issues in more detail.





á a  ́   ́ a
a   ̣   ̂   ̂   ̣ a

Code structure

The ISO/IEC 2022 coding specifies a two-layer mapping between character codes and displayed characters. In MARC-8, character codes from the 7-bit ASCII graphic range (0x20–0x7F) are referred to as "G0" codes, while codes from the "high ASCII" range (0xA0–0xFF) are referred to as the "G1" codes. Graphic character sets are designated and invoked by means of a multiple byte escape sequence consisting of the escape character, an Intermediate character sequence, and a Final character in the form ESC I F.

The following table shows the intermediate byte after the ESC byte (hexadecimal 1B).

Intermediate Bytes[1]
G0 set G1 set
Normal ISO-2022 28 24 29 24 29
Alternate ISO-2022 (additional 63+16 sets) 2C 24 2C 2D 24 2D

The following table shows the final byte after the intermediate bytes.

Final Bytes[2]
Bytes Name Type Comment
31 Chinese, Japanese, Korean (EACC) MBCS
32 Basic Hebrew SBCS
33 Basic Arabic SBCS
34 Extended Arabic SBCS
42 Basic Latin (ASCII) SBCS
21 45 Extended Latin (ANSEL) SBCS The 21(hex) technically is a second byte of the Intermediate segment of this escape sequence.
4E Basic Cyrillic SBCS
51 Extended Cyrillic SBCS
53 Basic Greek SBCS

Custom set extension

In addition to the ISO-2022 character sets, the following custom sets are available too. The byte designation follows the escape byte (hexadecimal 1B). There is no intermediate byte.

Final Bytes[3]
Bytes Name Type Comment
62 Subscript set SBCS
67 Greek Symbol set SBCS The alpha, beta, gamma characters normally do not round trip map to Unicode.
70 Superscript set SBCS
73 Basic Latin (ASCII) SBCS


  1. ^
  2. ^
  3. ^

External Links


Got something to say? Make a comment.
Your name
Your email address