Jump to content

User:OlivierMehani/Binary-to-text encoding

From Wikipedia, the free encyclopedia

A comparison table for Binary-to-text encoding, built from data extracted from the relevant pages, as of 2012-09-11.

Encoding Data type Efficiency Programming language implementations Comments
Ascii85 Arbitrary 4/5 awk, C, C#, F#, Java Perl, Python, Python (2)
Base16 Arbitrary 1/2 Probably any language around
Base32 Arbitrary 5/8 (8 bits) ANSI C
Base64 Arbitrary ~>75% (8 bits) C, many others
BinHex Arbitrary 3/4 (BinHex>=2.0) Perl, C, C (2) Forgotten since the mid-1980s
Intel HEX Arbitrary ~<50% C library, C++ Usually used for chip programming/flashing
MIME Arbitrary See Quoted-printable and Base64 See Quoted-printable and Base64 Encoding container for e-mail-like formatting
S-record Arbitrary ~<50% C library, C++ Usually used for chip programming/flashing
Percent encoding Text (URIs), Arbitrary (RFC1738) 1/3 (min); usually ~>40%[1] to 70%[2] Probably many
Quoted-printable Text min ~>44%[3], but usually much closer to 1 text is mostly ASCII Probably many Preserves line breaks; cuts lines at 76 characters
Uuencoding Arbitrary ~75% (usually 60% overall) Perl, C, probably many others [] Largely replaced my MIME and yEnc
Xxencoding Arbitrary ~75% (with similar overall to Uuencoding) C
yEnc Arbitrary, mostly non-text ~98% C Includes a CRC checksum


  1. ^ For arbitrary data; encoding all 189 non-unreserved characters with three bytes, and the remaining 66 characters with one
  2. ^ For text; only encoding each of the 18 reserved characters
  3. ^ Encoding all but the 94 characters which don't need it (incl. space and tab)