Recode converts files between various character sets and surfaces.
If a long option shows an argument as mandatory, then it is mandatory for the equivalent short option
also. Similarly for optional arguments.
Listings:-l, --list[=FORMAT]
list one or all known charsets and aliases
-k, --known=PAIRS
restrict charsets according to known PAIRS list
-h, --header[=[LN/]NAME]
write table NAME on stdout using LN, then exit
-T, --find-subsets
report all charsets being subset of others
-C, --copyright
display Copyright and copying conditions
--help display this help and exit
--version
output version information and exit
Operationmodes:-v, --verbose
explain sequence of steps and report progress
-q, --quiet, --silent
inhibit messages about irreversible recodings
-f, --force
force recodings even when not reversible
-t, --touch
touch the recoded files after replacement
-i, -p, --sequence=STRATEGY
ignored for backwards compatibility
Finetuning:-s, --strict
use strict mappings; discard untranslatable characters
-d, --diacritics
convert only diacritics and special characters for HTML/LaTeX/BibTeX
-S, --source[=LN]
limit recoding to strings and comments as for LN
-c, --colons
use colons instead of double quotes for diaeresis
-g, --graphics
approximate IBMPC rulers by ASCII graphics
-x, --ignore=CHARSET
ignore CHARSET while choosing a recoding path
Option -l with no FORMAT nor CHARSET list available charsets and surfaces. FORMAT is `decimal', `octal',
`hexadecimal' or `full' (or one of `dohf'). Unless DEFAULT_CHARSET is set in environment, CHARSET
defaults to the locale dependent encoding, determined by LC_ALL, LC_CTYPE, LANG. With -k, possible
before charsets are listed for the given after CHARSET, both being tabular charsets, with PAIRS of the
form `BEF1:AFT1,BEF2:AFT2,...' and BEFs and AFTs being codes are given as decimal numbers. LN is some
language, it may be `c', `perl' or `po'; `c' is the default.
REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]... ENCODING is
[CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER, with BEFORE and AFTER being charsets.
An omitted CHARSET implies the usual charset; an omitted [/SURFACE]... means the implied surfaces for
CHARSET; a / with an empty surface name means no surfaces at all. See the manual.
Each FILE is recoded over itself, destroying the original. If no FILE is specified, then act as a filter
and recode stdin to stdout.