### ICNV

#### Synopsis

    HELP:   Only character conversion
    TYPE:   OBJECT
    SYNTAX: > flcl ICNV(IN['str'/STREAM/DUMMY...],OUT='str'/STREAM/DUMMY,FALLOC(),RECORD,METHOD=AUTO/BLOCK/RECORD/KEEP/SKIP,CASE=UPPER/LOWER/FOLD/SUPPER/SLOWER/USRTAB,FROM='str'/DEFAULT/ASCII/EBCDIC/BOMUTF/BOMUCS/SYSTEM/LOCAL,MODE=STOP/IGNORE/SUBSTITUTE/IDENTITY/TRANSLIT,BOM,KEPBOM,TO='str'/DEFAULT/ASCII/EBCDIC/SYSTEM/LOCAL,ENL2LF,ELF2NL,SUBCHR[num/SYSTEM...],SYSTAB=ICONV,USRTAB='str'/NPAS/SEPA/DELA/DLAX,ONEMAP,CMBFRM=NFD/NFC/AUTO/ON/OFF,REPORT='str'/STDOUT/STDERR,REMAIN,NOMKDIR,APPEND,REMOVE,DIR(),LOG(),NORUN)

#### Description

The ICNV command converts local or remote files from one character encoding to another encoding set. More precisely, it converts the input file from the encoding given for the FROM option to an output file where the encoding is given in the TO option. Both encodings must be defined and supported by the platform you are running on.

During this it supports:

- Record or block oriented conversion
- Stop, ignore or substitution of invalid or incomplete character
- A free defined substitution character list
- Different system substitution / transliteration tables
- A user defined substitution table to change the system tables
- Case management (upper, lower, folding and special casing)
- Transliteration between subsets (mapping) and normalization
- BOM management and automatic detection of char sets
- Replacement of EBCDIC new line (0x15) by line feed (0x25)
- Reporting of ignored or substituted characters

The ICNV command runs the character conversion as part of the read operation of the Frankenstein Limes Universal Converter (FLUC). As default the block oriented binary read and write of files is used. With the keyword RECORD it will be possible to switch to record oriented binary read and write IO operations. Only binary formatting of the data is used. All the other conversion capabilities of FLUC are not available with this command.

To get syntax information, please use:

       flcl SYNTAX ICNV

To get help for a parameter, please use:

       flcl HELP ICNV.parameter[.parameter[...]]

To read the manual page for a parameter, please use:

       flcl MANPAGE ICNV.parameter[.parameter[...]]

To generate the user manual for the command, please use:

       flcl GENDOCU ICNV=filename

Parameters can be defined by the command line (directly or per file) or by properties taken from the corresponding property file

#### Examples

       flcl ICNV in='input.txt' out='output.txt'
                 from='UTF-8' to='ISO-8859-1' mode=ignore

converts input from Unicode to the old West-European encoding ISO-8859-1 and discards non convertible characters in the output

       flcl ICNV in='input.txt' out='ssh://<cuser>@server1/output.txt'
                 from='ISO-8859-1' to='UTF-8'

converts input from the old West-European encoding ISO-8859-1 to unicode on and write to a remote system.

#### Arguments

- `SWITCH: KEPBOM - Keep byte order mark for faster conversion`
- `SWITCH: REMAIN - Remain existing files (don't overwrite) [FALSE]`
- `SWITCH: NOMKDIR - Don't create path if path not exists [FALSE]`
- `SWITCH: NORUN - Don't run the command only show parsed parameter`