Sorry for being so cryptic: What i try to replace is this:
# Converts from base64 to binary
function ConvertFrom-Base64($string)
{
$bytes = [system.Convert]::FromBase64String($string);
$decoded = [system.Text.Encoding]::UTF8.GetString($bytes);
return $decoded;
}
# Does buffered read of all bytes from a stream
# returns a char array
function ReadAllBytes($stream)
{
$buffer = New-Object byte[](4096)
$ms = New-Object System.IO.MemoryStream
$bytesRead = 0
do {
$bytesRead = $stream.Read($buffer, 0, $buffer.Length)
if ($bytesRead -gt 0)
{
$ms.Write($buffer, 0, $bytesRead)
}
} while ($bytesRead -gt 0)
return [system.Text.Encoding]::UTF8.GetChars($ms.ToArray())
}
# Removes 'Zipped:', Converts from base64 and unzips
function FromBase64AndUnzip($string)
{
$string = $string.Replace("Zipped:", "")
$dataBytes = [system.Convert]::FromBase64String($string)
$memStream = New-Object System.IO.MemoryStream $dataBytes, 0, $dataBytes.Count
$memStream.Position = 0
$gzipStream = New-Object System.IO.Compression.GzipStream $memStream, ([iO.Compression.CompressionMode]::Decompress)
$uncompressed = ReadAllBytes($gzipStream)
return New-Object String(($uncompressed), 0, $uncompressed.length)
}
From what i understand this is in fact a gzip stream. Am I wrong?