论坛首页 Web前端技术论坛

一个要让Java程序员抓狂的JS Zip压缩程序。

浏览 4737 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-07   最后修改:2009-06-07
试过Java 生成Zip文件的同学,想必痛苦的编码问题应该记忆犹新吧。

由于现在通行的解压软件都是基于本地编码的,而Java Zip工具却是超前的使用了UTF-8。
而且非常干脆的断了自己的后路,相关的方法都是native的方法,无法自行扩展。也就是说,中国的程序员就别想用好那个超前的JavaZip的。

这几天在网上收集了一些资料,用JavaScript写了一个支持GBK编码的Zip制作程序。
支持中文文件名和内容,也支持添加图片等二进制文件(没有测试,或许吧)

http://jsicdn.appspot.com/example/zip.html

可以支持非IE浏览器。IE8未测试(IE8开始也能支持data协议了),也许可以。
最终输出是base64编码,data协议下载。

自从IE8支持了data协议,我想以后使用data协议开发一些二进制文件操作的程序会多起来了。
速度也越来越快了,也能生成,操作二进制文件。
那么JavaScript到底可以作些什么呢?没有做不到的,只有想不到的,一起去发挥他的潜力吧。
   发表时间:2009-06-08   最后修改:2009-06-08
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.
0 请登录后投票
   发表时间:2009-06-08  
哪估计是你们那边墙太高了,呵呵。
用的是GoogleAppEngine的服务。

关于压缩算法,我是拿了一断别人的程序改的,也不是我的原创。

唯一能算我自己写的就是那个GBK编码的程序。
我只是吧三段程序(GBK编码,Zip生成,zip_deflate)略家修改,组合了一下。

想查看源代码的同学,可以进入CDN管理界面,开启调试模式:
http://jsicdn.appspot.com/admin.xhtml
0 请登录后投票
   发表时间:2009-06-08   最后修改:2009-06-08
基于这个zip库编写的整站图片打包下载小程序。

javascript:var app='http://jsicdn.appspot.com/example/pack.js';var s = document.createElement("script");s.src=app;void(document.body.appendChild(s))



将上面的代码贴到地址栏中,程序将自动将网站的图片资源打成zip包下载下来。
0 请登录后投票
   发表时间:2009-06-08  
02221021 写道
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.


信息论里好像说最简单的方法是  统计字频重新编码,次数越多的字编码越短
0 请登录后投票
   发表时间:2009-06-09  
yiminghe 写道
02221021 写道
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.


信息论里好像说最简单的方法是  统计字频重新编码,次数越多的字编码越短


传说中古老的hoffman 编码?

不过现在流行的压缩算法一般都是lz77那个系列的,流式压缩,实现简单。运算成本也低。

更具他的原理,自己改造一下,也能用来压缩js代码,虽然意义不大。
http://hi.baidu.com/jindw/blog/item/737b7c8181b4fcd0bd3e1eef.html
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics