Sample code for 30+ languages & platforms
DataFlex

Decompress a Base64-Encoded Gzip String

See more Gzip Examples

This example demonstrates how to use the UncompressStringENC method to decompress Gzip-compressed data that is provided as an encoded string.

The example first compresses a string and encodes the result as Base64. It then demonstrates how the Base64 string can be decoded and decompressed back into the original text.

Internally, the method performs three steps:

  1. The input string is decoded from the specified encoding (Base64 in this example) to obtain the compressed binary data.
  2. The binary data is decompressed using the Gzip algorithm.
  3. The resulting bytes are interpreted using the specified character set (UTF-8) to produce the final string.

This method is useful when working with compressed data embedded in text-based formats such as JSON, XML, or HTTP responses.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoGzip
    String sInputStr
    String sCompressedBase64
    String sDecompressed
    String sTemp1
    Boolean bTemp1

    // This example demonstrates how to decompress Gzip data that is
    // provided as a Base64-encoded string.

    Get Create (RefClass(cComChilkatGzip)) To hoGzip
    If (Not(IsComObjectCreated(hoGzip))) Begin
        Send CreateComObject of hoGzip
    End

    // First, create a compressed Base64 string for demonstration purposes:
    Move "The quick brown fox jumps over the lazy dog." To sInputStr
    Set ComFilename Of hoGzip To "quickBrownFox.txt"
    Get ComCompressStringENC Of hoGzip sInputStr "utf-8" "base64" To sCompressedBase64
    Get ComLastMethodSuccess Of hoGzip To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoGzip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Compressed (Base64): " sCompressedBase64

    // Now decompress the Base64-encoded Gzip string:
    Get ComUncompressStringENC Of hoGzip sCompressedBase64 "utf-8" "base64" To sDecompressed
    Get ComLastMethodSuccess Of hoGzip To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoGzip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Decompressed string:"
    Showln sDecompressed


End_Procedure