RECODE(1)

NAME
recode - converts files between character sets

SYNOPSIS
recode [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]

DESCRIPTION
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

  Operation modes:

-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

  Fine tuning:

-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

-I, --prefer-iconv
    use iconv if possible

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.

AUTHOR
Written by François Pinard <pinard@iro.umontreal.ca>.

REPORTING BUGS
Report bugs at https://github.com/rrthomas/recode

COPYRIGHT
Copyright © 1990-2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
The full documentation for recode is maintained as a Texinfo manual. If the info and recode programs are properly installed at your site, the command

    info recode

should give you access to the complete manual.