1 basE91 - converting binary data to ASCII text
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 Copyright (c) 2000-2006 Joachim Henke
7 basE91 is an advanced method for encoding binary data as ASCII characters. It
8 is similar to UUencode or base64, but is more efficient. The overhead produced
9 by basE91 depends on the input data. It amounts at most to 23% (versus 33% for
10 base64) and can range down to 14%, which typically occurs on 0-byte blocks.
11 This makes basE91 very useful for transferring larger files over binary
12 insecure connections like e-mail or terminal lines.
14 The current algorithm has been written with portability and simplicity in mind
15 an is therefore not necessarily optimised for speed.
20 As the name suggests, basE91 needs 91 characters to represent the encoded
21 binary data in ASCII. From the 94 printable ASCII characters (0x21-0x7E), the
22 following three ones have been omitted to build the basE91 alphabet:
28 The translation table is composed of the remaining characters as shown below.
30 0 A 13 N 26 a 39 n 52 0 65 % 78 >
31 1 B 14 O 27 b 40 o 53 1 66 & 79 ?
32 2 C 15 P 28 c 41 p 54 2 67 ( 80 @
33 3 D 16 Q 29 d 42 q 55 3 68 ) 81 [
34 4 E 17 R 30 e 43 r 56 4 69 * 82 ]
35 5 F 18 S 31 f 44 s 57 5 70 + 83 ^
36 6 G 19 T 32 g 45 t 58 6 71 , 84 _
37 7 H 20 U 33 h 46 u 59 7 72 . 85 `
38 8 I 21 V 34 i 47 v 60 8 73 / 86 {
39 9 J 22 W 35 j 48 w 61 9 74 : 87 |
40 10 K 23 X 36 k 49 x 62 ! 75 ; 88 }
41 11 L 24 Y 37 l 50 y 63 # 76 < 89 ~
42 12 M 25 Z 38 m 51 z 64 $ 77 = 90 "
47 1. `cd' to the directory containing the package's source code and type `make'
48 to compile the package
50 2. optionally, type `make check' to run any self-tests that come with the
53 3. type `make install' to install the program and documentation in `/usr/local'
54 (to specify another installation prefix than `/usr/local', type
55 `make prefix=PATH install' instead)
57 4. you can remove the program binaries and object files from the source code
58 directory by typing `make clean'
63 Joachim Henke <j-o@users.sourceforge.net>
68 All source code in this package is released under the terms of the BSD license.
69 See the file LICENSE for copying permission.
74 Please visit the basE91 home page [http://base91.sourceforge.net/] for the
75 latest version and pre-compiled binaries.