Page 1 of 1

Info about CompressString(String$) needed

Posted: Thu Jul 04, 2024 10:27 am
by Dirk Geppert
Hello,

what kind of compression is CompressString(String$)? Help says: "Compress the specified string and returns a new compressed buffer. "

How can I unpack it again when I send the compressed text to a PB CGI tool?

Re: Info about CompressString(String$) needed

Posted: Thu Jul 04, 2024 10:47 am
by Dirk Geppert
Seems #PB_PackerPlugin_Zip :D

Code: Select all

; Purebasic Code

UseBriefLZPacker ()
UseJCALG1Packer()
UseLZMAPacker()
UseTARPacker()
UseZipPacker()


Restore Packed

*mem = AllocateMemory(20)
*out = AllocateMemory(26)

For n = *mem To *mem + 19
 
  Read.b b
  PokeB(n, b)
  
Next



DecompressedLength = UncompressMemory(*mem, 20, *out, 26, #PB_PackerPlugin_BriefLZ)
Debug "#PB_PackerPlugin_BriefLZ"
Debug DecompressedLength
Debug PeekS(*out, DecompressedLength, #PB_Ascii)

DecompressedLength = UncompressMemory(*mem, 20, *out, 26, #PB_PackerPlugin_Zip)
Debug "#PB_PackerPlugin_Zip"
Debug DecompressedLength
Debug PeekS(*out, DecompressedLength, #PB_Ascii)

DecompressedLength = UncompressMemory(*mem, 20, *out, 26, #PB_PackerPlugin_Lzma)
Debug "#PB_PackerPlugin_Lzma"
Debug DecompressedLength
Debug PeekS(*out, DecompressedLength, #PB_Ascii)

DecompressedLength = UncompressMemory(*mem, 20, *out, 26, #PB_PackerPlugin_JCALG1)
Debug "#PB_PackerPlugin_JCALG1"
Debug DecompressedLength
Debug PeekS(*out, DecompressedLength, #PB_Ascii)


DataSection
  
  
Packed:
Data.b 120, -100, 115, 116, 114, 70, 3, 46, -82, 110, -18, 30, -98, 94, -34, 0, 92, 34, 6, -16, 0, 0, 0
EndDataSection



CompilerIf  0 

; SpiderBasic Code

String$ = "ABCCCCCCCCCCCCCCCCDEFGHIJK"
*Compressed = CompressString(String$)
Debug "Compressed size (from " + Len(String$) + " bytes): "+MemorySize(*Compressed)


For n = 0 To MemorySize(*Compressed) - 1
  Debug PeekB(*Compressed, n)
Next

CompilerEndIf

Re: Info about CompressString(String$) needed

Posted: Thu Jul 04, 2024 11:39 am
by Fred
Yes, it's zlib compression

Re: Info about CompressString(String$) needed

Posted: Thu Jul 11, 2024 5:48 pm
by Quin
Fred wrote: Thu Jul 04, 2024 11:39 am Yes, it's zlib compression
Would you consider putting this in the docs by chance? Could be useful info

Re: Info about CompressString(String$) needed

Posted: Tue Jul 30, 2024 4:52 am
by idle
Quin wrote: Thu Jul 11, 2024 5:48 pm
Fred wrote: Thu Jul 04, 2024 11:39 am Yes, it's zlib compression
Would you consider putting this in the docs by chance? Could be useful info
It should also specify if that it's deflate or gzip format. Same compressor but different headers