VB MARC-8 CharSet README Version 1.1 (2003-05-06)

This package contains an ActiveX DLL with classes for converting strings encoded as MARC-8 into native Visual Basic Unicode strings (BSTRs) or into UTF-8 encoded strings. It is being developed in support of other ongoing projects dealing with the Z39.50, OAI, and MARC standards. It is distributed under the University of Illinois/NCSA Open Source License.

Supported Platforms

Most Win32 platforms should be supported. However, the ActiveX DLL has only been tested on the following platforms:

Currently the component has only been used in standard Visual Basic programs. However, the component should also work from C++, Perl, Delphi, or any other programming language on the Windows platform that supports ActiveX COM Objects

If anyone is successfully using this on different plaforms or different programming languages, please let me know and I will add to this list.


The most recently released VBMARC8CharSet installation package can be obtained from SourceForge.


This package has two dependencies beyond the standard VB6 runtime. One is the Microsoft Scripting Runtime (scrrun.dll and msvcrt.dll); all Windows 2000 systems should have this. The other dependency is for Internet Explorer version 5.5 and later. A string conversion function available in the mlang.dll file which is installed with IE 5.5 + is required by this program.

Documentation, Examples, and Source

The documentation for the API is included with the package. There is also a Change Log. Also included is TestMARC8CharSet.exe which is a simple test program just to verify that the MARC8CharSet.dll is working correctly. Just press the 'TEST' button and the program will respond with 'All OK' or some sort of error message -- pretty exciting. The source code for the DLL and the test program are available as separate zip archive from SourceForge. This DLL will eventually be integrated into the VB ZOOM and ZMARCO packages in order to more fully support MARC records processing in these programs.

Acknowledgements (in no particular order)

This package was inspired by and based on the MARC::Charset Perl module. The API documentation was automatically generated from source code comments by the VBDOX documentation generator. The original VB ZOOM and ZMARCO packages, for which this DLL is being developed, were developed as part of an Open Archives Initiative Metadata Harvesting Project at the University of Illinois at Urbana-Champaign, funded by the Andrew Mellon Foundation. Additional work on the ZMARCO project is being funded by a Library Services and Technology Act grant from the Illinois State Library.

Questions, Comments, or Bug Reports can be sent to Tom Habing.