`
jindw
  • 浏览: 508400 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

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

阅读更多
试过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到底可以作些什么呢?没有做不到的,只有想不到的,一起去发挥他的潜力吧。
分享到:
评论
5 楼 jindw 2009-06-09  
yiminghe 写道
02221021 写道
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.


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


传说中古老的hoffman 编码?

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

更具他的原理,自己改造一下,也能用来压缩js代码,虽然意义不大。
http://hi.baidu.com/jindw/blog/item/737b7c8181b4fcd0bd3e1eef.html
4 楼 yiminghe 2009-06-08  
02221021 写道
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.


信息论里好像说最简单的方法是  统计字频重新编码,次数越多的字编码越短
3 楼 jindw 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包下载下来。
2 楼 jindw 2009-06-08  
哪估计是你们那边墙太高了,呵呵。
用的是GoogleAppEngine的服务。

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

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

想查看源代码的同学,可以进入CDN管理界面,开启调试模式:
http://jsicdn.appspot.com/admin.xhtml
1 楼 02221021 2009-06-08  
强大,见过一篇文章讲压缩原理的.跟看天书一般.不过你的网站似乎打不开.

相关推荐

    Java程序员面试资料及简历模版

    Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历...

    Java程序员面试宝典.zip

    Java程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zipJava程序员面试宝典.zip

    java程序员转正ppt

    作为一名Java程序员,应当包括自己的教育背景、编程经验、项目经历以及对Java语言的理解。 2. **技术成长**: - **对象理解**:深入理解Java对象的创建,如String的两种初始化方式,以及内存中的变量池、堆和栈的...

    java程序员面试简历 WORD 模版

    Java程序员在求职过程中,一份优秀...总的来说,一个好的Java程序员简历不仅要展示你的技术实力,还要体现出你的学习能力和适应性。通过使用提供的Word模板,你可以创建一份既专业又个性化的简历,为你的求职之路加分。

    Java程序员面试宝典

    《Java程序员面试宝典》通过200个面试题,对企业招聘Java程序员需要掌握的知识进行了系统、全面的总结,以帮助读者进行充分的面试准备,在激烈的竞争中拔得头筹。《Java程序员面试宝典》列举了各大IT公司的面试真题...

    java程序员面试交流项目经验

    java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...

    JAVA程序员简历模板(最新版)

    以下是一个详细的模板,帮助你构建一个有吸引力的JAVA程序员简历。 **基本信息** 这部分包括个人的姓名、性别、出生日期、学历、工作经验年限、户口所在地、联系方式以及电子邮箱地址。例如: - 姓名:(你的名字...

    java程序员发展前景

    这是一个误解。事实上,java 程序员的职业前景是非常广阔的,既可以在技术路线上深入,也可以在管理路线上发展。 在技术路线上,java 程序员可以从初级程序员逐步晋升为高级 java 程序员、系统分析师、架构设计师等...

    java程序员简历模板

    Java 程序员简历模板 以下是 Java 程序员简历模板的知识点总结: 一、 HR 如何刷简历 * 定位准确:个性鲜明,一眼看上去就能贴上技术精英、管理岗‘专家的标签 * 内部一致:内容聚焦,不能出现前后不符 * 简明...

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    Java 程序员眼中的 Linux.zip

    Linux-Tutorial-master这个目录名表明,这可能是一个包含完整教程源码和资料的仓库。 在Java开发中,Linux因其稳定性、可定制性和高效性能而受到青睐。以下是Java程序员应该掌握的Linux相关知识点: 1. **基础操作...

    java程序员的成长历程

    对于想要踏入或正在走在这条道路上的Java程序员来说,理解并经历一个完整的学习和发展过程至关重要。以下就是一篇关于“Java程序员的成长历程”的详细解读。 首先,Java初学者通常会从学习基础语法开始,包括变量、...

    Java程序员必备手册

    对于初学者或者需要复习基础知识的开发者来说,这是一个非常实用的资源。理解HTML的基本原理和规则,是进行任何Web开发的基础。 总的来说,这个压缩包为Java程序员提供了一套完整的前端技术参考资料,无论是在开发...

    Java 程序员宝典 pdf 电子书

    《Java程序员宝典》是一本全面涵盖Java编程技术的电子书,旨在为初学者和有经验的Java开发者提供深入的指导。这本书详细介绍了Java语言的基础、核心特性以及高级概念,帮助读者掌握成为一名优秀Java程序员所需的技能...

    一个Java程序员的C++学习之路

    ### 一个Java程序员的C++学习之路 在IT领域中,很多程序员都会经历跨语言学习的过程,这不仅能拓宽他们的技术视野,还能提升解决问题的能力。本文将深入探讨一位Java程序员学习C++的过程及其心得体会,旨在为那些...

    java程序员简历模板(一共19套模板)

    java程序员个人简历.doc JAVA软件工程师简历范文.docx Java软件开发工程师个人简历模板.doc 个人简历(示范案例).doc 应届生Java开发个人简历.doc 非常经典java求职简历(三套-含项目介绍).doc 高级Java工程师架构师-...

    java程序员的那些事儿

    "java程序员的那些事儿"这个主题涵盖了许多方面,包括学习路径、技术栈、开发实践、职业发展等。让我们深入探讨一下Java程序员在日常工作中的关键知识点。 首先,学习Java编程语言是基础。Java以其“一次编写,到处...

    Java程序员上班那点事

    Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事

    java程序员规划java程序员职业规划.docx

    在职业规划中,第一个重要的步骤是认识自我。 Java 程序员需要了解自己的性格、兴趣爱好、能力和不足之处。只有通过自我分析, Java 程序员才能更好地认识自己,并制定合适的职业规划。 二、 职业生涯条件分析 在...

    《Java程序员》

    从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人的进阶策略,既有求职攻略的按图索骥,又有入职后生产环境的破解揭秘。 本书中浓缩了...

Global site tag (gtag.js) - Google Analytics