为什么gzip不一致?

时间:2015-10-27 23:59:45

标签: python-3.x ascii gzip

为什么这些线条不能给我相同的结果?

// cache menu elements
var $menu1 = $('#menu1'), $menu2 = $('#menu2');

// update header once, and listen on scroll
update();
$(window).on('scroll', update);

function update() {
  // pick first visible threshold
  var scrollTop = $(this).scrollTop(), thresh;
  for (var i = 0, len = thresholds.length; i < len; ++i) {
    thresh = thresholds[i];
    if (thresh[0] >= scrollTop) break;
  }

  // update header as necessary
  if (thresh[1]) {
    $menu1.hide();
    $menu2.show();
  } else {
    $menu2.hide();
    $menu1.show();
  }
}

这对于单元测试来说非常烦人。

2 个答案:

答案 0 :(得分:2)

gzip标头包含修改时间戳。 见here

对于单元测试,您可以跳过标题并比较其余部分。

这样的事情:

a = gzip.compress('same'.encode('ascii'))
b = gzip.compress('same'.encode('ascii'))

a[5:] == b[5:]

不确定值5,但似乎是它正在使用的标题大小。

答案 1 :(得分:2)

如上所述,gzip标头包含时间戳。如果传递-n或--no-name选项(到命令行zip程序),则会省略这些选项。