# The `recode` reference manual

Next: Tutorial, Previous: (dir), Up: (dir) [Contents][Index]

# `recode`

This recoding library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces more than 300 different character sets and is able to convert files between almost any pair. Most RFC 1345 character sets, and all `libiconv` character sets, are supported. The `recode` program is a handy front-end to the library.

The current `recode` release is 3.6.

• Tutorial: |  | Quick Tutorial
• Introduction: |  | Terminology and purpose
• Invoking recode: |  | How to use this program
• Library: |  | A recoding library
• Universal: |  | The universal charset
• libiconv: |  | The `iconv` library
• Tabular: |  | Tabular sources (RFC 1345)
• ASCII misc: |  | ASCII and some derivatives
• IBM and MS: |  | Some IBM or Microsoft charsets
• CDC: |  | Charsets for CDC machines
• Micros: |  | Other micro-computer charsets
• Miscellaneous: |  | Various other charsets
• Surfaces: |  | All about surfaces
• Internals: |  | Internal aspects
• Concept Index: |  | Concept Index
• Option Index: |  | Option Index
• Library Index: |  | Library Index
• Charset and Surface Index: |  | Charset and Surface Index

     — The Detailed Node Listing —

    Terminology and purpose

• Charset overview: |  | Overview of charsets
• Surface overview: |  | Overview of surfaces
• Contributing: |  | Contributions and bug reports

    How to use this program

• Synopsis: |  | Synopsis of `recode` call
• Requests: |  | The request parameter
• Listings: |  | Asking for various lists
• Recoding: |  | Controlling how files are recoded
• Reversibility: |  | Reversibility issues
• Sequencing: |  | Selecting sequencing methods
• Mixed: |  | Using mixed charset input
• Emacs: |  | Using `recode` within Emacs
• Debugging: |  | Debugging considerations

    A recoding library

• Outer level: |  | Outer level functions
• Request level: |  | Request level functions
• Task level: |  | Task level functions
• Charset level: |  | Charset level functions
• Errors: |  | Handling errors

    The universal charset

• UCS-2: |  | Universal Character Set, 2 bytes
• UCS-4: |  | Universal Character Set, 4 bytes
• UTF-7: |  | Universal Transformation Format, 7 bits
• UTF-8: |  | Universal Transformation Format, 8 bits
• UTF-16: |  | Universal Transformation Format, 16 bits
• count-characters: |  | Frequency count of characters
• dump-with-names: |  | Fully interpreted UCS dump

    ASCII and some derivatives

• ASCII: |  | Usual ASCII
• ISO 8859: |  | ASCII extended by Latin Alphabets
• ASCII-BS: |  | ASCII 7-bits, `BS` to overstrike
• flat: |  | ASCII without diacritics nor underline

    Some IBM or Microsoft charsets

• EBCDIC: |  | EBCDIC codes
• IBM-PC: |  | IBM’s PC code
• Icon-QNX: |  | Unisys’ Icon code

    Charsets for CDC machines

• Display Code: |  | Control Data’s Display Code
• CDC-NOS: |  | ASCII 6/12 from NOS
• Bang-Bang: |  | ASCII “bang bang”

    Other micro-computer charsets

• Apple-Mac: |  | Apple’s Macintosh code
• AtariST: |  | Atari ST code

    Various other charsets

• HTML: |  | World Wide Web representations
• LaTeX: |  | LaTeX macro calls
• Texinfo: |  | GNU project documentation files
• Vietnamese: |  | Vietnamese charsets
• African: |  | African charsets
• Others: |  | Cyrillic and other charsets
• Texte: |  | Easy French conventions
• Mule: |  | Mule as a multiplexed charset

    All about surfaces

• Permutations: |  | Permuting groups of bytes
• End lines: |  | Representation for end of lines
• MIME: |  | MIME contents encodings
• Dump: |  | Interpreted character dumps
• Test: |  | Artificial data for testing

    Internal aspects

• Main flow: |  | Overall organisation
• New charsets: |  | Adding new charsets
• New surfaces: |  | Adding new surfaces
• Design: |  | Comments on the library design

Next: Tutorial, Previous: (dir), Up: (dir) [Contents][Index]