chiark / gitweb /
Provide a .gitignore file
[base91.git] / README
1 basE91 - converting binary data to ASCII text
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4 Copyright (c) 2000-2006 Joachim Henke
5
6
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.
13
14 The current algorithm has been written with portability and simplicity in mind
15 an is therefore not necessarily optimised for speed.
16
17
18 * Alphabet
19
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:
23
24 - (dash, 0x2D)
25 ' (apostrophe, 0x27)
26 \ (backslash, 0x5C)
27
28 The translation table is composed of the remaining characters as shown below.
29
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 "
43
44
45 * Building
46
47 1. `cd' to the directory containing the package's source code and type `make'
48    to compile the package
49
50 2. optionally, type `make check' to run any self-tests that come with the
51    package
52
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)
56
57 4. you can remove the program binaries and object files from the source code
58    directory by typing `make clean'
59
60
61 * Developer
62
63 Joachim Henke <j-o@users.sourceforge.net>
64
65
66 * Copying
67
68 All source code in this package is released under the terms of the BSD license.
69 See the file LICENSE for copying permission.
70
71
72 * See also
73
74 Please visit the basE91 home page [http://base91.sourceforge.net/] for the
75 latest version and pre-compiled binaries.