### 15.8 CES converters ¶

Similar to the CCS tables, CES converters are also split into "from UCS" and "to UCS" parts. Depending on the iconv library configuration, these parts are enabled or disabled.

The following it the list of CES converters which are currently present in the Newlib iconv library.

- euc - supports the euc_jp, euc_kr and euc_tw encodings. The euc CES converter uses the table and the us_ascii CES converters.
- table - this CES converter corresponds to "null" and just performs tables-based conversion using 8- and 16-bit CCS tables. This converter is also used by any other CES converter which needs the CCS table-based conversions. The table converter is also responsible for .cct files loading.
- table_pcs - this is the wrapper over the table converter which is intended for 16-bit encodings which also use the Portable Character Set (PCS) which is the same as the US-ASCII. This means, that if the first byte the CCS code is in range of [0x00-0x7f], this is the 7-bit PCS code. Else, this is the 16-bit CCS code. Of course, the 16-bit codes must not contain bytes in the range of [0x00-0x7f]. The big5 encoding uses the table_pcs CES converter and the table_pcs CES converter depends on the table CES converter.
- ucs_2 - intended for the ucs_2, ucs_2be and ucs_2le encodings support.
- ucs_4 - intended for the ucs_4, ucs_4be and ucs_4le encodings support.
- ucs_2_internal - intended for the ucs_2_internal encoding support.
- ucs_4_internal - intended for the ucs_4_internal encoding support.
- us_ascii - intended for the us_ascii encoding support. In principle, the most natural way to support the us_ascii encoding is to define the us_ascii CCS and use the table CES converter. But for the optimization purposes, the specialized us_ascii CES converter was created.
- utf_16 - intended for the utf_16, utf_16be and utf_16le encodings support.
- utf_8 - intended for the utf_8 encoding support.