我正在尝试解码此html文件,当我打开该html文件时,它向我显示以下数据
‹í½`I–%&/mÊ{JõJ×àt¡€`$Ø@ìÁˆÍæ’ìiG#)«*ÊeVe]f@Ìí¼÷Þ{ï½÷Þ{ï½÷º;N'÷ßÿ?\fdlöÎJÚÉž!€ªÈ?~|?"~ãä7NÏÛEyô'iúxžg3þ~o‹¶Ì^Ï«ÕY›n§O²æmÞ>¾+k›²X¾Më¼ü죦½.ófžçíGé¼ÎÏé~s¯êt ¯Ôpç~<öß—ùò¢ÓçŸ|àš ß+¾O/‹3à`¡ß›zJm<ˆô¡×ì—˜_õ—Çw=Š=¾kçëñ¤š]§mµZ bùÙǧÓ2kšÏ>Â72‹¥“lúö¢®ÖËÙgï ï–ÕE5¾(Î?Jyé Ûj»ÎWyÖ>J—•þúQZ-Ÿ±>ûH©¶õ±”ÕuuõbÄ õ6›”yzUÌÚùgïîìüªžåõgïÐ(ò²\e³Y±¼°7«lª+€©íïøKèbžÇÅâ"%ZæpjëlI€j":#d1xpÿãtžóö³ïQ†Yñÿû€©›4+‹ "x>&î’?'UÛV ‡©¶ÐL¯_wÜò„£—Ètˆ3>ît,ìññe^7$q ¤?™~:Þé }Ôíb¨Ó Ÿ£éçù"g¢Ø{¢@8ï3úĽE˜öô«×2 ÷GSšè¼þH þÑÃßý£€¨íí–Ä«õQjþÀŸ3ÿO|À u¾>Úé€Ú¥,,y:å!¸:±^ý¨ß$MŸ¿þ½Nßt?§¡:ÈCBÈCÍð3þÈPlG [¸]ÿêÐË£¢ _®é[áúÂ<Ò߆yéï @¤ 'üŸw¨,O ãÅqWþ¶8îîu‘”‡Q}A_ý®ÛÛé"+–)MâUÑÎÓiEØ,Ûíí((zƒv÷±=[.-¶LŸÛ=ñ¾Ð€fÙºÝo¢Ûçuž/&–%ZÓß–x½ ö¦ =Ã-І&ϦFiŒH5¦ ècP¨@y@ó;ÝÑ·43 wåo3 wïLøæ]ðF.ŠÙ¬ÌI{ѬëG%Y·^ÖÕl=mÓÙ"'é›û-ÈÑ‹õb’×Cßþnw¿Zð³‚oU—þnéëõB¾ƒ¬C˜7£[>nÚl9Ëê7äé·.cm‡+qôäË/ß¼¥o~Ÿ—§»ÔËìv€ýÔ‡¾ÿáøáíA† | ½N¾|þúåñ òÕöµ?îîèñDû˜ ÓêÝMìLmndzjÃÂ3Ô‚¾Ç0¥OFðýsí‹üàkx14$݇hµñ{j1Ù ZÀ/X’œ|ö»‡ìJž‚óMù8Žð7¤3/ zÇY³‚GúEµnòŠ\|kÏéà/Êù ‡îÝ5™?nÁ‡^5o Ÿ|„ðG„öòšÉ“@®üúñÝl# hö6Q‘¾¾ÕäÓ¯OüMzOÏ{bM©alécí·û}Ó} äm÷!}ä^£?Ì ô+7Å_$_ÆЯóH´úÿ¤:ÍXº
该html文件的响应头包含以下信息 缓存控制:私有 内容类型:text / html 内容编码:gzip 变化:接受编码 服务器:Microsoft-IIS / 7.5 X-Powered-By:ASP.NET
请帮帮我们 我使用的当前语言是c#,但语言不是障碍 该html文件的链接可以在这里找到 https://drive.google.com/open?id=0B7czdsz0iSPjNVg1OUp1LVhFQUE
答案 0 :(得分:0)
使用 System.IO.Compression.GZipStream 并创建解压缩数据的方法:
static byte[] Decompress(byte[] zipData)
{
using (var zipStream = GZipStream(new MemoryStream(zipData), CompressionMode.Decompress))
{
const int size = 4096;
byte[] buffer = new byte[size];
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
do
{
count = zipStream.Read(buffer, 0, size);
memoryStream.Write(buffer, 0, count);
}
while (count > 0);
return memoryStream.ToArray();
}
}
}
然后你可以使用 File.ReadAllBytes 方法获得一个可以通过解压缩方法使用的byte []:
byte[] file = File.ReadAllBytes("201.html");
byte[] decompressed = Decompress(file);
File.WriteAllBytes("201.decompressed.html", decompressed);
我刚刚使用您的示例文件成功测试了该方法。
答案 1 :(得分:0)
所以这是我感谢帮助人员的最终代码
public static void gzipdecompressor()
{
byte[] file = File.ReadAllBytes(@"C:\Users\quality_digital_2\Documents\Projects\224.html");
byte[] decompressed = Decompress(file);
Console.WriteLine(file.Length);
Console.WriteLine(decompressed);
var str = System.Text.Encoding.Default.GetString(decompressed);
Console.WriteLine(str);
}
public static byte[] gzipDecompress(byte[] gzip)
{
using (GZipStream stream = new GZipStream(new MemoryStream(gzip),
CompressionMode.Decompress))
{
const int size = 4096;
byte[] buffer = new byte[size];
using (MemoryStream memory = new MemoryStream())
{
int count = 0;
do
{
count = stream.Read(buffer, 0, size);
if (count > 0)
{
memory.Write(buffer, 0, count);
}
}
while (count > 0);
return memory.ToArray();
}
}
}