SJHb64 Version 1.60 A Base 64 Utility for Windows 3.1, Windows 95 and Windows NT ©1996, SJHDesign http://www.sjhdesign.com What Does it do? ________________ SJHB64 is a small but powerful utility that will decode base64 encoded data contained in E-Mail files, USENET posts or any other text file. It can also encode binary data like digital images, documents, spreadsheets, video, sound and such in base64 format with a MIME compliant header suitable for e-mailing or posting to USENET newsgroups. SJHB64 is specifically designed to make these operations easier by solving the common encoding and decoding problems that frustrate even experienced users. What's New in Version 1.6? __________________________ Quite honestly, we were surprised by the reaction to SJHB64 1.2. We got hundreds of messages from all over, the overwhelming majority complementary. We also got many suggestions about useful features to add to the program(version 1.2 was admittedly a little spare) and in an odd sort of marketplace democracy, we tried to add the features that our users asked for the most. These new features are : a)Encoding - SJHB64 now does MIME\base64 encoding b)Default Directories - the program allows you to choose two sets of default directories-input and output directories for encoding and input and output directories for decoding and keeps track of them for you. c)'Recognizes' 25 common file types - this comes in handy when you want to decode a file that has no MIME header information. Most decoders will take a non-MIME compliant file, decode it and write a generically named file with no extension or prompt you to supply the missing data if you happen to remember it. If, however, your non-MIME compliant file contains encoded data in one of the 'recognized' types, SJHB64 will automatically add the proper extension for you, header or no header. For a full list of 'recognized' file types, see the help file. Note: SJHB64 version 1.1, which recognized 8 commonly used encoded binary types, was the first program to use this approach of 'recognizing' encoded binary types in headerless base64 files and helping the user determine exactly what they were decoding instead of just blindly decoding data and leaving it to the user to figure out what type of data it was. The makers of quite a few shareware decoders and newsreaders admired this little innovation so much that they incorporated it into their software(with varying degrees of success) in the time since SJHB64 v 1.1 was released in March 1996. d)Auto-Decode - allows the program to decode base64 files without any intervention on the users part other than choosing the file to decode. The program writes the decoded file either to the same directory as the encoded one or to a directory that the user chooses in advance(see Default Directories above). e)Auto-Close - this feature closes the program after it's finished decoding a file. This is useful for those who use the Windows ASSOCIATE command to launch SJHB64 by clicking on a base64 file with a default extension(like .b64). This also saves the user having to close the program when using as a decoding extension for a Newsreader or Web Browser. f)Batch Encoding and Decoding - you can now drag a bunch of files from the Win 3X File Manager or Win95 Explorer, drop them on SJHB64 and decode or encode them all in one shot. If the Auto decode feature described above is enabled, you don't have to do anything-they're all decoded to your default directory. You can even combine files for encoding and decoding in the same batch and SJHB64 is smart enough to figure out which ones to encode and which ones to decode! Installing and Using the Program _________________ This is the easy part. To install SJHB64 1.6, just copy the files SJHB6416.EXE and SJHB64.HLP to the same directory. You're done! Using SJHb64 is also quite simple- -Start the program by clicking on SJHB6416.EXE in File Manager or Explorer. You can of course put SJHB6416.EXE on your Win95 Start Menu or in Program Manager. -To decode files, either drag them from Explorer or File Manager and drop them on SJHB64 or choose the DECODE FILE option from the FILE menu, which loads a standard Windows file open dialog. You can also autoload files by dragging them to SJHB6416.EXE in File Manager or Explorer-the program will start up and decode the file you dropped on it. -Once SJHb64 loads the file, a progress gauge appears and the program pops up a Save As dialog with the name and extension of each Base64 encoded binary it finds in your MIME compliant file, unless you've chosen the AUTO-DECODE option. If the file you loaded is not MIME compliant and it's header does not include the original filename of the Base64 encoded binary, SJHb64 figures out what type of binary it is and pops up the Save As dialog with the name of the loaded file and the appropriate extension. -Encoding files into base64 format is also simple. Choose ENCODE FILE from the FILE menu and the File Open dialog lets you load just about any type of file for encoding. One more dialog will prompt you to choose the name and location of the new encoded file and that's it. Your encoded file is then written together with a MIME 1.0 compliant header. The program fills in the header information itself - you don't have to bother trying to figure out the MIME 'type' of your file. SJHB64 'recognizes' some 26 common file types and adds the appropriate header information. Note : SJHB64 does not suffer from what some programmers familiar with MIME call 'octet-stream syndrome'. A MIME compliant header contains a 'Content-Type:' field and the MIME specification currently lists over 60 common types covering images, documents, video, sound, HTML, text and many other data types. Some shareware programs(and even a Newsreader made by the world's largest software company) have a bad habit of using the 'application\octet-stream' type description in their MIME headers when encoding almost anything that's not text. Conversely, SJHB64 is 'aware' of 26 of the most common MIME data types and is pretty accurate when it fills in the 'Content-Type:' field. This is important - if your newsreader or encoder encodes a JPEG file and writes in the attached MIME header that it's 'Content-Type:' is application\octet-stream, this will mess up a lot of programs when they try to decode this file. For this reason, SJHB64 does not rely on the information in this field when decoding-it's often inaccurate. Design Philosophy _________________ Everybody agrees that Windows is a huge success. This success has inspired hardware manufacturers to flood the market with low cost desktop computers with huge hard drives and lots of RAM to sell to users who want to run this huge, memory hungry operating system. It has also changed the way programmers and the makers of software development tools think. In the old MS-DOS days, developers knew that their programs would have a limited amount of RAM to work with and disk space to run on, so they made their software fast and very compact. If you knew what you were doing, you could write tight, lean code that ran very fast. Nowadays, we don't have those limitations anymore and Windows programs in general have become bigger, slower and often needlessly elaborate. This is partly because developers don't worry about tight code as much, and partly because of the widespread use of "Visual" programming tools, which tend to make slow, bloated executables. The decoders we've tested average around 300K in size and require 300-400k of ram just to load(that's about as much as the entire Windows 3.1 operating system). SJHb64 is small(31K), the fastest program of it's kind for the Windows enviornment and requires only 28K of memory to load (many users of SJHb64 1.2 sent us messages expressing their amazement that a program one-tenth the size of their old decoder could decode files that the old decoder just couldn't handle). This is because SJHb64 is written in old fashioned C - no "visual" tools, no application frameworks, just tight, fast code. SJHb64 does not have a lot of bells and whistles you don't need like icon bars, tips, status bars and such. Since SJHb64 is careful not to hog the CPU, it will also run quite nicely under Windows 95 and NT. We try to create software that runs on all windows platforms whenever possible. What Makes This Program Different? __________________________________ SJHB64 is still the best at handling files with non MIME compliant headers. The program 'recognizes' 28 common file types in their encoded form, and if no MIME header(or even a hacked one) is present, the program will attach the proper extension to the decoded file for you. No more files named MYSTERY or UNKNOWN and no more trying to write phony MIME headers. For FAQ's and information about MIME and trouble shooting Mime\Base64 files go to our home page at http://www.sjhdesign.com Another area where SJHB64 shines is in it's ability to extract multiple encoded binaries from one file, a feature missing from many decoders. The MIME format imposes no limit on the number of encoded binaries users can place in one message, and this is one of the main reasons MIME is the mail format of choice of the most powerful and sophisticated mail programs. A number of users of SJHB64 1.2 told us that they had Mime\Base64 files on their hard drives for a long time and did not even know that they contained more than one encoded binary until they ran SJHB64 on them. Limits ______ Having highlighted SJHb64's strengths, we should also point out that it has a few limits: The program does not fully support Windows95 long filenames. If a your MIME file contains an encoded binary with a long filename(and the filename is included in the MIME header), the filename will be truncated to conform to the DOS 8.3 standard. The resulting decoded file will have this truncated filename. We've made some progress but still have a lot to do in the area of automatically correcting bad header data. If the file you are decoding has a mime compliant header with an incorrect file type in it, SJHb64 will still sometimes use the bogus extension for the decoded file. User Agreement ______________ SJHb64 is free, and you don't have to register it or pay us for it (as if anybody registers their shareware). If you decide to use the program, you must agree to two conditions: 1) This software is offered for use as is, and no warranty is stated or implied. SJHDesign is not responsible for any loss of data, damage to hardware nor any resulting loss of time or revenue resulting from the use of this program. Like all software, this program is utilized entirely at the user's risk. 2) We are not responsible for all of the hacked Base64 files floating around the net. If SJHb64 cannot correctly decode a file containing one of the supported binary types mentioned above, chances are the data itself is corrupt. The same is true if you have a file that decodes OK but won't load in your JPEG or GIF viewer or whatever. With all of the poorly written encoders and bad phone lines in this world, it's a wonder that ANY files get to your hard drive in one piece. Our own experience is that about 10% of the Base64 encoded files and 30% of the UUEncoded files on the net are corrupt. If you have problems decoding a file, DON'T EMAIL US ABOUT IT. Take a look at the Base64 Guide for Usenet Types at our site : http://www.sjhdesign.com/ It has a lot of tips for troubleshooting problem Base64 files. Other Software from SJHDesign _____________________________ DROPVIEW\IP - The State of the Art in image editing. Like SJHb64, the design philosophy behind DROPVIEW\IP is quite different from any other image editor. We have tried to take the image processing tasks you perform every day and make them as fast and automatic as possible. Features like batch file conversion, batch printing and batch image processing help automate those tedious repetitive tasks we all can't stand. If you need a program that has these features plus full drawing capabilities, pixel level editing, thmubnails and auto indexing, icon editing, wallpaper changing, smart UUE and Base64 encoding\decoding and powerful image processing features, you should take a look at Dropview\IP. Version 3.5 will be available by year's end at our home page and on Compuserve, AOL and USENET. You can also find older versions just about everywhere and if you register one, you'll get our powerful new upgrade. SJHMedia - a new Multimedia player for Windows 3X and Windows 95. Powerful browsing features make it easy to locate and play MPEG, AVI and Quicktime videos and MIDI, RMI and WAV sound files. Built in configuration checking tests your multimedia configuration and helps find potential problems. A screaming 32 bit version is also available for only $14.95. SJHDecode\View - our specialized image decoder which decodes UUE and Base64 files containing JPG, TIFF, BMP, GIF, EPS and PCX images and loads them for viewing and editing in one quick step. Image processing features include contrast and brightness enhancement, color manipulation, resizing, greyscaling, and more. SJHDCV also supports full color printing, format conversion and encodes images to UUE or Base64. Stop by for free fully functional demos of these programs at our site: http://www.sjhdesign.com/ Our page also has lots of useful information and FAQ's on mime\base64, digital imaging and multimedia, exhibitions of work by various digital artists, links to multimedia sites and, of course, product support and information on all of our software products. Any inquiries should be directed there.