# International Collectanea for Unicode

# Conversion interface

Conversion interface is a set of C functions used to convert to and from Unicode and various character sets/codepages.

## Important files:

icu/source/common

- ucnv_io.{c,h} : Low level implementation of the aliasing and other file access services.
- ucnv_bld.{c,h} : Implementation of the data structure.
- ucnv_cnv.{c,h} : Implementation of the conversion loop.
- ucnv.{c,h} : API implementation.
- ucnv_imp.h : internal functions.
- ucnv_err.{h,c} : sample implementation of error Callback Routines.
- convert.cpp : C++ wrapers of the conversion routines.

Data files: icu/data

- convrtrs.txt : Alias table used by the icu conversion routines for conversion data files.
- *.ucm : mapping tables.

Tools : icu/source/tools/makeconv

- makeconv.c : Tool that compiles the .ucm files in a format that ICU understands (.cnv files)

Files that are used but not part of conversion per se (i.e. used by other parts of the ICU): icu/source/common

- ucmp8.{c,h} : compact array (array with compressed array for 8 bits char).
- ucmp16.{c,h} : compact array (array with compressed array for 16 bits char).
- uhash.{c,h} : hashtable implementation.