标题说明了一切: 我读了tar.gz这样的档案 将文件分解成一个字节数组 将这些字节转换为Base64string 将该Base64string转换回字节数组 把这些字节写回新的tar.gz文件 我可以确认两个文件大小相同(下面的方法返回true),但我不能再提取复制版本。 我错过了什么吗? Boolean MyMethod(){ using (StreamReader sr = new StreamReader("C:\…\file.tar.gz")) { String AsString = sr.ReadToEnd(); byte[] AsBytes = new byte[AsString.Length]; Buffer.BlockCopy(AsString.ToCharArray(), 0, AsBytes, 0, AsBytes.Length); String AsBase64String = Convert.ToBase64String(AsBytes); byte[] tempBytes = Convert.FromBase64String(AsBase64String); File.WriteAllBytes(@"C:\…\file_copy.tar.gz", tempBytes); } FileInfo orig = new FileInfo("C:\…\file.tar.gz"); FileInfo copy = new FileInfo("C:\…\file_copy.tar.gz"); // Confirm that […]