我如何改变下文,以便把Gzip数据与[System.Convert]一起使用:ToBase64String(,而不是一个外来文件,然后将THAT产出(b64)送交一个外部文件。
** 收到一个非常多的成员在前一个职位上提供的帮助。 它是一个答案,但我的目标被误解。
现在这确实是INFILE>Compress>OUTFILE,我希望做的是INFILE>Compress>Convert>OUTBase64。
$infile = Get-Item path omyfiletocompress.ext
$instream = $infile.OpenRead()
$outstream = (New-Item path omygzfile.gz).OpenWrite()
$gzip = [System.IO.Compression.GZipStream]::new(
$outstream,
[System.IO.Compression.CompressionLevel]::Optimal)
$instream.CopyTo($gzip)
$gzip.Dispose()
$outstream.Dispose()
$instream.Dispose()
与此相反,我想利用基地64作为瓦尔的投入,并且首先从第64基地转换成一个编目。
∗ ∗∗ 我愿在以下网址上发言:INBase64>Convert>Decompress>OUTFILE。
$infile = Get-Item path omygzfile.gz
$instream = $infile.OpenRead()
$outstream = (New-Item path omyexpandedgzfile.ext -Force).OpenWrite()
$gzip = [System.IO.Compression.GZipStream]::new(
$instream,
[System.IO.Compression.CompressionMode]::Decompress)
$gzip.CopyTo($outstream)
$gzip.Dispose()
$outstream.Dispose()
$instream.Dispose()
现在,使用IO,我这样做的方式没有压缩。 参看RepAllBytes, 撰稿人。
file>B64
[Convert]::ToBase64String([IO.File]::ReadAllBytes( anyfile.ext )) | Out-File anyfile.txt"
B64>File
[IO.File]::WriteAllBytes( anyfile.ext , [Convert]::FromBase64String( anyfile.txt ))
在与B64和B64编码的卷宗相比较少时,我测试了使用gzip文档而不是原始文件的结果,因此值得使用。