Base92 Compression

Posted on 2007-07-31
Last Modified: 2008-05-15
I need information on reading base92 compressed file. I have tried searching on google but got nothing. I will really appreciate any help on this topic.

Question by:nauman_ahmed
    LVL 30

    Accepted Solution

    Exactly what information are you looking for?

    Are you looking for example code?
    LVL 53

    Assisted Solution

    I've never heard about base92, but if it's similar to base64, then you can get a lot of resources here :


    including code to en- and decode.

    However, 92 is an odd value to be using for such an encoding, as it's not a power of 2. So, I'm not sure whether that's the encoding used here.

    Where did the file come from ? Do you have more information about that ? Was it generated by an application ? Can you contact somebody who might know more about it ? Is there documentation you have about that file or the encoding ?
    LVL 45

    Assisted Solution


    xpm uses base 92 for pixel encoding.  Is this what you're looking for?

    LVL 25

    Author Comment

    Thanks for reply. I know about base64 encoding but never heard of base92. I am converting someone's else code that is in VB and it reads a base92 compressed file. Following is a sample that is read from encoded file:

    z , d$!' 6K5z/ ]o* -|2 LU- 7<0 KK8 se7 )<0 g4? H0= @hJ [eY NMm B]h ef

    I don't think that it is based on base64. Any ideas?

    LVL 53

    Expert Comment

    >> I don't think that it is based on base64. Any ideas?

    Doesn't look like it, no.

    >> base92 compressed file.

    A compressed file ? An algorithm like Base64 would make the file bigger, so that's probably not the case then here.

    Also, 92 is not a power of 2, so an algorithm like base64 would not work very well. So, I'm leaning towards a different algorithm. Maybe something like used in XPM files (as Kdo said) ...

    If you have the code in VB, then you can probably figure out that way what the format of the file is. If you're having problems with that yourself, you might want to post the VB code here, and post a link in the VB section. We can then figure out what the code does, and do the same thing in C++.
    LVL 3

    Assisted Solution

    Dear friend base 64 is diffrent it use for the attachment over mail.
    can you have some document before starting base 92 so that all expert can help you
    LVL 17

    Assisted Solution

    Following on from Kent's comment, you might want to Google up the source code for the ppmtoxpm utility, if that's what you are after.

    The netpbm distribution looks to be spot on (look in the converter/ppm directory).

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Why You Should Analyze Threat Actor TTPs

    After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

    Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
    Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
    The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
    The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now