`

GZIP应用

 
阅读更多
import java.io.ByteArrayInputStream;  
import java.io.ByteArrayOutputStream;  
import java.io.IOException;  
import java.util.zip.GZIPInputStream;  
import java.util.zip.GZIPOutputStream;  
   
/** 
 * Gzip 压缩字符串 
 */  
public class GZIP {   
 /** 
  * 字符串的压缩 
  * @param str 待压缩的字符串 
  * @return 返回压缩后的字符串 
  * @throws IOException 
  */  
 public static String compress(String str) throws IOException {  
     if (null == str || str.length() <= 0) {  
         return str;  
     }  
     // 创建一个新的输出流  
     ByteArrayOutputStream out = new ByteArrayOutputStream();  
     // 使用默认缓冲区大小创建新的输出流  
     GZIPOutputStream gzip = new GZIPOutputStream(out);  
     // 将字节写入此输出流  
     gzip.write(str.getBytes("utf-8"));  //因为后台默认字符集有可能是GBK字符集,所以此处需指定一个字符集  
     gzip.close();  
     // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串  
     return out.toString("ISO-8859-1");  
 }  
   
 /** 
  * 字符串的解压 
  * @param str 对字符串解压 
  * @return 返回解压缩后的字符串 
  * @throws IOException 
  */  
public static String unCompress(String str) throws IOException {  
     if (null == str || str.length() <= 0) {  
         return str;  
     }  
     // 创建一个新的输出流  
     ByteArrayOutputStream out = new ByteArrayOutputStream();  
     // 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组  
     ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));  
     // 使用默认缓冲区大小创建新的输入流  
     GZIPInputStream gzip = new GZIPInputStream(in);  
     byte[] buffer = new byte[256];  
     int n = 0;  
  
     // 将未压缩数据读入字节数组  
     while ((n = gzip.read(buffer)) >= 0){  
           out.write(buffer, 0, n);  
     }  
     // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串   
     return out.toString("utf-8");   
     }  
}  









  • 大小: 34.4 KB
分享到:
评论

相关推荐

    GZIP_gzip_

    GZIP是一种广泛使用的无损数据压缩算法...总结起来,GZIP是一个高效的无损数据压缩格式,基于DEFLATE算法,广泛应用于网络传输、文件存储和备份等领域。了解GZIP的工作原理和文件结构对于理解和处理这类文件至关重要。

    java实现gzip ajax请求gzip压缩

    在IT行业中,gzip是一种广泛使用的数据压缩算法,尤其在Web服务中,用于减少网络传输的数据...总的来说,Java实现gzip与Ajax请求的gzip压缩通信,是提升Web应用性能的有效手段,但同时也需要充分考虑兼容性和性能优化。

    gzip源码,gzip压缩算法

    压缩过程涉及读取输入文件,将其分块,然后应用DEFLATE算法进行压缩。解压缩则相反,它解析GZIP文件结构,对每个数据块进行解压,并将结果写回输出文件。 在源码中,gzip的压缩功能可能包含以下关键部分: 1. **...

    STM32移植gzip

    6. **优化**:根据实际应用的需求,可能需要进行性能优化,比如调整堆栈大小、内存分配策略等,以确保在有限资源下高效运行。 7. **调试与验证**:通过硬件调试器或JTAG接口进行调试,确保代码在实际硬件上的正确...

    Delphi解压gzip字符串例程

    在IT行业中,`Delphi`是一种流行的面向对象的编程环境,它基于Pascal语言,并以其高效、快速的编译能力和强大的Windows应用程序开发能力而著称。`gzip`则是一种广泛使用的数据压缩格式,常用于网络传输,以减少数据...

    js压缩gzip格式

    此外,它可能还包含了如何在服务器配置文件中启用gzip的示例,帮助开发者更好地理解和应用gzip压缩。 总之,js压缩成gzip格式是提高网页性能的重要手段,通过合理利用gzip,可以有效减少网络传输的数据量,提升用户...

    TCP传输中使用AES加密和gizp压缩

    2. **TCP中的gzip应用**:在TCP传输中,通常在数据加密前进行gzip压缩,以减小加密数据的大小,降低网络负担。服务器和客户端之间需要协商是否启用gzip压缩,这通常通过HTTP头字段`Accept-Encoding`和`Content-...

    Web应用防火墙关于gzip文件的检测研究.pdf

    Web应用防火墙关于gzip文件的检测研究.pdf

    gzip压缩keil平台

    在标签“gzip”中,我们关注的是与gzip压缩相关的技术细节和应用场景。在Keil平台上的应用,主要是为了优化嵌入式系统的固件更新流程。通过理解gzip的压缩原理和如何在Keil环境中整合这一工具,我们可以更有效地管理...

    利用JAVASCRIPT即你想那个GZIP压缩与解压缩

    总结,JavaScript实现的GZIP压缩和解压缩是现代Web应用中优化数据传输效率的重要手段,通过合理利用这些技术,可以显著提升用户体验。同时,理解GZIP的工作原理和如何在JavaScript中实现,对于开发者来说是必不可少...

    GZIP解压缩.rar

    易语言GZIP解压缩源码提供了在易语言环境下处理GZIP文件的解决方案,使开发者能够便捷地在自己的应用程序中实现文件的压缩和解压缩功能。掌握这些知识对于任何IT专业人士来说都是一个重要的技能点。

    VC6 gzip 压缩解压 测试代码 使用gzip.dll

    gzip是一种广泛应用于网络数据传输的压缩格式,它基于Deflate算法,能够有效地减小文件大小,从而提高传输效率。Windows 2003系统自带的gzip库为开发者提供了便利,使得在VC6环境下集成gzip功能成为可能。 首先,要...

    使用libcurl获取经过gzip压缩的网页文件

    在互联网通信中,为了减少数据传输量,提升网络性能,许多服务器会将网页内容通过gzip进行压缩后再发送给客户端。libcurl是一个强大的URL传输库,它支持多种协议,包括HTTP,能够处理经gzip压缩的数据。本文将深入...

    GZip文件打包RAR

    GZip和RAR是两种常见的压缩格式,各有其特点和应用场景。本文将深入探讨这两种格式以及如何进行打包和解压操作。 首先,GZip是一种广泛使用的开源压缩算法,基于DEFLATE算法,由GNU项目开发。GZip主要用于单个文件...

    javascript的gzip静态解压

    在实际应用中,考虑GZIP压缩的性能优化也很关键。过度压缩可能会增加CPU使用率,而过少则无法充分利用带宽。需要找到合适的平衡点,同时注意对不同文件类型进行不同的压缩策略。 总结,JavaScript的GZIP静态解压是...

    gzip 静态解压缩库c++ builder 2007版本,源代码

    gzip是一种广泛使用的数据压缩算法,尤其在网络传输和存储大量数据时。它的全称是GNU Zip,最初由Jean-loup Gailly和Mark Adler开发,并且是开源的。gzip不仅可以用于单个文件的压缩,还可以与Unix-like系统的管道...

    Gzip文件压缩 实例

    zlib库提供了API供开发者在自己的应用程序中使用Gzip功能。例如,`gzopen()`用于打开一个Gzip文件,`gzwrite()`和`gzread()`分别用于写入和读取数据,而`gzclose()`则用于关闭Gzip流。 5. **Gzip与HTTP** 在Web...

    window版的gunzip+gzip工具,实现文件压缩和解压缩工具

    下面将详细介绍这两个工具以及它们在MySQL数据处理中的应用。 gzip是一款开源的压缩程序,它使用LZ77算法进行数据压缩,能够有效地减少文件大小,从而节省存储空间。在Windows环境下,gzip通常被打包成gzip-1.3.12-...

    WebLogic的GZip压缩

    WebLogic的GZip压缩是一种优化技术,用于减少通过网络传输的数据量,特别是在Web应用程序中,可以显著提升网页加载速度和服务器性能。GZip压缩利用了HTTP协议中的Content-Encoding头,服务器在发送响应到客户端...

    iOS gzip压缩数据

    本文将深入探讨“iOS gzip压缩数据”这一主题,包括gzip压缩的原理、如何在iOS应用中实现gzip压缩,以及使用ASI框架进行数据压缩的方法。 gzip是一种广泛使用的数据压缩算法,它基于DEFLATE算法,该算法结合了LZ77...

Global site tag (gtag.js) - Google Analytics