[R] memDecompress and zlib compressed base64 encoded string
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Jan 14 22:37:47 CET 2010
On Thu, 14 Jan 2010, Johannes Graumann wrote:
> Hi,
>
> I have zlib compressed strings (example is attached)
What is that file? Not gzip compression:
gannet% file compressed.txt
compressed.txt: ASCII text, with very long lines
since gzip uses a magic header that 'file' knows about. And even if
the header was stripped, such files are 8-bit and yours is ASCII.
Try
> x <- 'Johannes Graumann'
> xx <- charToRaw(x)
> xxx <- memCompress(xx, "g")
> rawToChar(xxx)
[1] "x\x9c\xf3\xca\xcfH\xcc\xcbK-Vp/J,\xcd\0052\001:\n\006\x90"
to see what a real gzipped string looks like.
> and would like to decompress them using memDecompress ...
>
> I try this:
>> connection <- file("compressed.txt","r")
>> compressed <- readLines(connection)
You have not told us the 'at a minimum' information requested in the
posting guide. But you should not expect that to read a binary file,
especially not in a MBCS locale. We have readBin for that purpose.
>> memDecompress(as.raw(compressed),type="g")
I don't think you know what as.raw does: it does not convert bytes in
a character string to raw (for which you need charToRaw).
It is always a good idea to look at each stage of your computation:
> as.raw(compressed)
[1] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00
[26] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00
> Error in memDecompress(as.raw(compressed), type = "g") :
> internal error -3 in memDecompress(2)
> In addition: Warning messages:
> 1: In memDecompress(as.raw(compressed), type = "g") :
> NAs introduced by coercion
> 2: In memDecompress(as.raw(compressed), type = "g") :
> out-of-range values treated as 0 in coercion to raw
>
> Can anyone nudge me into the right direction regarding this?
> Thanks, Joh
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list