- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果我gzip此文本:
你好,世界
通过使用此代码:
Stream stream = new MemoryStream(Encoding.Default.GetBytes("Hello World"));
var compressedMemoryStream = new MemoryStream();
using (var gzipStream = new GZipStream(compressedMemoryStream, CompressionMode.Compress))
{
stream.CopyTo(gzipStream);
gzipStream.Close();
}
Utilities.GzipCompress
或
this PHP page运行相同的字符串,结果只有31字节长。
0000-0010: 1f 8b 08 00-c2 e6 ff 4f-00 ff f3 48-cd c9 c9 57 .......O ...H...W
0000-001f: 08 cf 2f ca-49 01 00 56-b1 17 4a 0b-00 00 00 ../.I..V ..J....
0000-0010: 1f 8b 08 00-00 00 00 00-00 03 f3 48-cd c9 c9 57 ........ ...H...W
0000-001f: 08 cf 2f ca-49 01 00 56-b1 17 4a 0b-00 00 00 ../.I..V ..J....
0000-0010: 1f 8b 08 00-00 00 00 00-04 00 ec bd-07 60 1c 49 ........ .....`.I
0000-0020: 96 25 26 2f-6d ca 7b 7f-4a f5 4a d7-e0 74 a1 08 .%&/m.{. J.J..t..
0000-0030: 80 60 13 24-d8 90 40 10-ec c1 88 cd-e6 92 ec 1d .`.$..@. ........
0000-0040: 69 47 23 29-ab 2a 81 ca-65 56 65 5d-66 16 40 cc iG#).*.. eVe]f.@.
0000-0050: ed 9d bc f7-de 7b ef bd-f7 de 7b ef-bd f7 ba 3b .....{.. ..{....;
0000-0060: 9d 4e 27 f7-df ff 3f 5c-66 64 01 6c-f6 ce 4a da .N'...?\ fd.l..J.
0000-0070: c9 9e 21 80-aa c8 1f 3f-7e 7c 1f 3f-22 be 9d 97 ..!....? ~|.?"...
0000-0080: 65 95 7e b7-aa cb d9 ff-13 00 00 ff-ff 56 b1 17 e.~..... .....V..
0000-0085: 4a 0b 00 00-00
最佳答案
序言:.net用户在任何情况下都不应该使用微软提供的gzipstream或deflatestream类,除非微软完全用有效的东西替换它们。改为使用DotNetZip library。
前言更新:.net framework 4.5及更高版本修复了压缩问题,gzipstream和deflatestream在这些版本中使用zlib。我不知道下面提到的crc问题是否已经修复。
另一个更新:crc问题不仅没有解决,而且微软已经决定他们won't fixit!
这是gzipstream中的几个bug之一。任何自尊心强的gzip压缩器都不应该从11字节的输入中产生133字节的输出。请参见Why does BCL GZipStream (with StreamReader) not reliably detect Data Errors with CRC32?上的我的评论。
内部发生的情况是,gzipstream没有使用静态方法或存储方法,这两种方法都会生成与输入数据大小相同的压缩数据(上面会添加18字节的gzip头和尾)。相反,它使用的是动态方法,该方法为极少数代码创建一个非常大的代码描述符头。这只是一个bug/非常糟糕的实现。
更新:
有了hex转储,我可以提供一些分析。首先,fiddler和php输出都是正确的。它们之间的唯一区别在于gzip报头,特别是fiddler(而不是php)中设置的时间戳,以及php(而不是fiddler)中设置的原始操作系统。对于这两个13字节的压缩数据是相同的,可以表示为(使用myinfgen program来反汇编deflate流):
last
static
literal 'Hello World
end
dynamic
code 3 5
code 4 5
code 5 4
code 6 4
code 7 4
code 8 3
code 9 3
code 10 4
code 11 4
code 12 4
code 13 4
code 14 3
code 16 3
litlen 0 14
litlen 1 14
litlen 2 14
litlen 3 14
litlen 4 14
litlen 5 14
litlen 6 14
litlen 7 14
litlen 8 14
litlen 9 12
litlen 10 6
litlen 11 14
litlen 12 14
litlen 13 14
litlen 14 14
litlen 15 14
litlen 16 14
litlen 17 14
litlen 18 14
litlen 19 14
litlen 20 14
litlen 21 14
litlen 22 14
litlen 23 14
litlen 24 14
litlen 25 14
litlen 26 14
litlen 27 14
litlen 28 14
litlen 29 14
litlen 30 13
litlen 31 14
litlen 32 6
litlen 33 14
litlen 34 10
litlen 35 12
litlen 36 14
litlen 37 14
litlen 38 13
litlen 39 10
litlen 40 8
litlen 41 9
litlen 42 11
litlen 43 10
litlen 44 7
litlen 45 8
litlen 46 7
litlen 47 9
litlen 48 8
litlen 49 8
litlen 50 8
litlen 51 9
litlen 52 8
litlen 53 9
litlen 54 10
litlen 55 9
litlen 56 8
litlen 57 9
litlen 58 9
litlen 59 8
litlen 60 9
litlen 61 10
litlen 62 8
litlen 63 14
litlen 64 14
litlen 65 8
litlen 66 9
litlen 67 8
litlen 68 9
litlen 69 8
litlen 70 9
litlen 71 10
litlen 72 11
litlen 73 8
litlen 74 11
litlen 75 14
litlen 76 9
litlen 77 10
litlen 78 9
litlen 79 10
litlen 80 9
litlen 81 12
litlen 82 9
litlen 83 9
litlen 84 9
litlen 85 10
litlen 86 12
litlen 87 11
litlen 88 14
litlen 89 14
litlen 90 12
litlen 91 11
litlen 92 14
litlen 93 11
litlen 94 14
litlen 95 14
litlen 96 14
litlen 97 6
litlen 98 7
litlen 99 7
litlen 100 7
litlen 101 6
litlen 102 8
litlen 103 8
litlen 104 7
litlen 105 6
litlen 106 12
litlen 107 9
litlen 108 6
litlen 109 7
litlen 110 7
litlen 111 6
litlen 112 7
litlen 113 13
litlen 114 6
litlen 115 6
litlen 116 6
litlen 117 7
litlen 118 8
litlen 119 8
litlen 120 9
litlen 121 8
litlen 122 11
litlen 123 13
litlen 124 12
litlen 125 13
litlen 126 13
litlen 127 14
litlen 128 14
litlen 129 14
litlen 130 14
litlen 131 14
litlen 132 14
litlen 133 14
litlen 134 14
litlen 135 14
litlen 136 14
litlen 137 14
litlen 138 14
litlen 139 14
litlen 140 14
litlen 141 14
litlen 142 14
litlen 143 14
litlen 144 14
litlen 145 14
litlen 146 14
litlen 147 14
litlen 148 14
litlen 149 14
litlen 150 14
litlen 151 14
litlen 152 14
litlen 153 14
litlen 154 14
litlen 155 14
litlen 156 14
litlen 157 14
litlen 158 14
litlen 159 14
litlen 160 14
litlen 161 14
litlen 162 14
litlen 163 14
litlen 164 14
litlen 165 14
litlen 166 14
litlen 167 14
litlen 168 14
litlen 169 14
litlen 170 14
litlen 171 14
litlen 172 14
litlen 173 14
litlen 174 14
litlen 175 14
litlen 176 14
litlen 177 14
litlen 178 14
litlen 179 14
litlen 180 14
litlen 181 14
litlen 182 14
litlen 183 14
litlen 184 14
litlen 185 14
litlen 186 14
litlen 187 14
litlen 188 14
litlen 189 14
litlen 190 14
litlen 191 14
litlen 192 14
litlen 193 14
litlen 194 14
litlen 195 14
litlen 196 14
litlen 197 14
litlen 198 14
litlen 199 14
litlen 200 14
litlen 201 14
litlen 202 14
litlen 203 14
litlen 204 14
litlen 205 14
litlen 206 14
litlen 207 14
litlen 208 14
litlen 209 14
litlen 210 14
litlen 211 14
litlen 212 14
litlen 213 14
litlen 214 14
litlen 215 14
litlen 216 14
litlen 217 14
litlen 218 14
litlen 219 14
litlen 220 14
litlen 221 14
litlen 222 14
litlen 223 14
litlen 224 14
litlen 225 14
litlen 226 14
litlen 227 14
litlen 228 14
litlen 229 14
litlen 230 14
litlen 231 14
litlen 232 14
litlen 233 14
litlen 234 14
litlen 235 14
litlen 236 14
litlen 237 14
litlen 238 14
litlen 239 14
litlen 240 14
litlen 241 14
litlen 242 14
litlen 243 13
litlen 244 13
litlen 245 13
litlen 246 14
litlen 247 13
litlen 248 14
litlen 249 13
litlen 250 14
litlen 251 13
litlen 252 14
litlen 253 14
litlen 254 14
litlen 255 14
litlen 256 14
litlen 257 4
litlen 258 3
litlen 259 4
litlen 260 4
litlen 261 4
litlen 262 5
litlen 263 5
litlen 264 5
litlen 265 5
litlen 266 5
litlen 267 6
litlen 268 6
litlen 269 5
litlen 270 6
litlen 271 7
litlen 272 8
litlen 273 8
litlen 274 9
litlen 275 10
litlen 276 9
litlen 277 10
litlen 278 12
litlen 279 11
litlen 280 12
litlen 281 14
litlen 282 14
litlen 283 14
litlen 284 12
litlen 285 11
dist 0 6
dist 1 10
dist 2 11
dist 3 11
dist 4 9
dist 5 8
dist 6 8
dist 7 8
dist 8 7
dist 9 7
dist 10 5
dist 11 6
dist 12 4
dist 13 5
dist 14 4
dist 15 5
dist 16 4
dist 17 5
dist 18 4
dist 19 4
dist 20 4
dist 21 4
dist 22 4
dist 23 4
dist 24 4
dist 25 5
dist 26 4
dist 27 5
dist 28 5
dist 29 5
literal 'Hello World
end
!
last
stored
end
关于c# - 为什么我的C#gzip生成的文件比Fiddler或PHP大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12615848/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我想知道是否可以只在某些进程上使用 Fiddler2,而不是在所有使用系统代理设置的应用程序上。我知道 Fiddler2 中有一个过滤器选项,但据我所知,它只隐藏信息并且无论如何都会捕获流量。 最佳答
我有以下要求: 我需要从命令行启动 Fiddler。它将立即开始捕获我的流量。一段时间后,我想停止捕获流量,但不想关闭 Fiddler。 实现这一目标的最佳方法是什么?我已经探索了 Fiddler 的
我有以下要求: 我需要从命令行启动 Fiddler。它将立即开始捕获我的流量。一段时间后,我想停止捕获流量,但不想关闭 Fiddler。 实现这一目标的最佳方法是什么?我已经探索了 Fiddler 的
在 fiddler 中,如何在请求到达主机之前终止请求。例如,我发送了一个请求,我想在该请求中放置一个断点,这样我就无法接收到响应。基本上,我想在将响应返回给原始调用者之前检查响应,以及如果连接丢失或
Fiddler 指定了两个选项将其用作反向代理。 选项1: Fiddler can be configured so that any traffic sent to http://127.0.0.1
当我打开 fiddler 时,可以捕获来自浏览器的HTTP流量。 我使用.net HttpWebRequest编写了一个程序,也可以捕获流量。 同样使用python urllib2,fiddler捕获
当您使用 URL ipv4.fiddler 时,我很好奇 fiddler 是如何捕获流量的。 ipv4 是解析本地的特殊域,fiddler 只是向 http.sys 注册以代理调用吗? 任何见解都会很
fiddler response 当我点击解码时,我得到了解码后的消息,但我在哪里可以找到编码类型,以便我可以手动解码消息或获取更多信息? 最佳答案 我正在使用 fiddler 版本:v5.0.202
是否可以指示 Fiddler 仅显示定向到特定主机名的流量?也就是说Fiddler流量可以针对Host进行过滤吗? 最佳答案 请参阅此屏幕截图。位于屏幕的右上方 关于fiddler - 过滤 Fidd
我正在尝试通过 fiddler 路由我的soapUI Web 服务请求,但它似乎不起作用。我尝试过类似的网址 http://localhost./myservice/myservice.asmx ht
我正在使用 Fiddler,想要模拟不同的网络速度 是否有任何已发布的数据可供我使用延迟值来模拟不同的速度? 以下是 Fiddler 模拟 56kb 调制解调器速度的默认代码。 if (m_Simul
我面临的问题几乎类似于以下线程: Unable to control the network bandwidth using fiddler in spite of custom rules? 我想按
在 this question的评论,EricLaw (Fiddler 的作者)写道: Fiddler has lots of interesting features, but not all of
我在一台服务器向另一台服务器发送数据时遇到问题,所以我想:让我们调试一下。我可以设置代理,那么为什么不使用 Fiddler?因此,我通过将主机设置为我计算机的 IP (192.168.2.111) 并
如何在 Fiddler 中使用正则表达式重定向到 URL? If URL mathes regex:(?insx)^http://www.(.*)$ respond to http://proxy.e
Fiddler中这个图标是什么意思: 它未在 help 中列出. 最佳答案 此图标用于回复 Content-Type=Content-Type: text/html; 关于fiddler - 蓝色<>
fiddler“Composer”选项卡的“options”子选项卡让您可以将 Composer 撕成一个 float 窗口。问题是怎么放回去?我失去了 float 窗口,现在 fiddler 的 C
我已经按照以下链接使用 ServiceStack(客户示例)构建了一个服务:https://docs.google.com/present/view?id=dg3mcfb_213gsvvmmfk 当我
通常,我们通过 Fiddler 捕获了太多的请求,但是使用 POST 方法的请求最终是我们想要的。 有什么方法可以使用 提取/过滤/这些请求发布 方法,换句话说,显示 发布 仅请求。 我已经阅读了 F
我是一名优秀的程序员,十分优秀!