smc.bibencodings /

Filename Size Date modified Message
smc
81 B
135 B
370 B
424 B
98 B
1.5 KB
237 B
1.1 KB
2.0 KB
108 B
2.0 KB

smc.bibencodings

ISO-5426 (MAB2) and MARC (USMARC, ANSEL) encodings for Python. The encodings are used in bibliographic information systems and Z.3950 interfaces of OPACs.

Background

ISO-5426 and USMARC encodings are historic encodings that are still in use by bibliographic information systems. They are extensions to Latin codec family and implement a variable length encoding someward similar to UTF-8 and decomposed unicode (NFD) forms.

Non-ASCII chars are expressed as combining chars. For example umlaut a (LATIN SMALL LETTER U WITH DIAERESIS) is written in MAB2 encoding as 'xc8u', where 'xc8' is the sign for combining diaeresis. Contrary to unicode the combining chars are writte as prefix while unicode has combinig suffixes.

Both MAB2 and MARC encoding support up to two combining chars in front of a letter, for example 'xc5xc8u' for LATIN SMALL LETTER U WITH DIAERESIS AND MACRON.

smc.bibencodings implements small deviations from the standards as it supports all chars from 0x00 to 0x7e as well as more combining chars. The code has been tested against several German and Swiss OPACs.

Usage

You just have to import "smc.bibencodings" somehwere in your code to enable the codecs

iso-5426, iso5426, mab2::
standard ISO-5426 encoding
iso-5426-xe0, iso5426-xe0, mab2-xe0::
special ISO-5426 encoding with special identity mapping for 0xa4, 0xe0-0xff
marc, usmarc, ansel::
MARC encoding
>>> import smc.bibencodings
>>> b"Abr\xc2eg\xc2e Historique De L'Origine".decode("mab2")
"Abrégé Historique De L'Origine"

Data source

The encoding tables are extracted from Thomas Berger's excellent page http://www.gymel.com/charsets/chartab.html and linked pages. Thank you very much!

Authors

Christian Heimes

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.