需要帮助来解码这个html文件

时间:2017-09-19 10:41:42

标签: javascript c# html

我正在尝试解码此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

2 个答案:

答案 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();
            }
        }
    }