User:OlivierMehani/Binary-to-text encoding
Appearance
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 |