`
yugouai
  • 浏览: 497547 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

字符串通过gzip压缩到base64编码

    博客分类:
  • java
 
阅读更多

方法如下:

有两种实现,一种利用原生Java API,另外使用Apache common---->IOUtils

//测试通过gz压缩->base64编码后字符串
String queryString = "I am still alive";
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Base64OutputStream b64os = new Base64OutputStream(bos);
GZIPOutputStream gout = new GZIPOutputStream(b64os);
gout.write(queryString.getBytes("UTF-8"));
gout.close();
b64os.close();

byte b1[] = bos.toByteArray();

System.out.println("Encode:" + new String(b1));

//		String s1 = null;
InputStream bais = new ByteArrayInputStream(b1);
Base64InputStream b64io = new Base64InputStream(bais);
GZIPInputStream gin = new GZIPInputStream(b64io);
//toString 方法建议制定编码,否则采用系统默认编码,出现中文编码错误的问题
System.out.println(IOUtils.toString(gin,"UTF-8"));

//		ByteArrayOutputStream baos = new  ByteArrayOutputStream();
//	
//		int numBytesRead = 0;
//        byte [] tempBytes = new byte[6000];
//        while ((numBytesRead = gin.read(tempBytes, 0, tempBytes.length)) != -1)
//        {
//            baos.write(tempBytes, 0, numBytesRead);
//        }
//
//        s1 = new String(baos.toByteArray());
//        s1= baos.toString();
//        System.out.println(s1);

 

 利用IOUtils能完成更多操作,不必要封装多层IO

 

分享到:
评论

相关推荐

    Delphi解压gzip字符串例程

    - 对于接收到的gzip压缩字符串,首先需要将其从Base64解码回字节流,如果之前是这么处理的。 - 然后调用`ZLib`库中的解压函数,如`GzipDecompress`或`DecompressBuffer`,将gzip格式的字节流还原为原始的非压缩...

    json数据base64编码压缩+解压解码(java以及js)

    java端:返回类型非字符接口调用StringUtils#base64AndCompressJson进行编码压缩 ,返回类型为字符接口调用StringUtils#base64Andcompress js 端:引入压缩包中的js文件 ,调用deBase64AndUncompress进行解压解码

    文件压缩(文件转换为base64)

    4. **再次编码为Base64**:压缩后的Blob对象再转换回Base64编码,形成新的、较小的Base64字符串。 5. **处理结果**:最后,这个新的Base64编码的图像数据可以用于上传到服务器,或者显示在网页上。 在实际应用中,...

    Javascript 实现Base64 + GZIP + AES 加解密

    1. 在接收端,先用`pako.ungzip()`函数对GZIP压缩的数据进行解压缩,恢复到加密后的Base64字符串。 2. 然后,使用`crypto-js`的`AES.decrypt()`方法,用相同的密钥解密这个Base64字符串,得到原始未加密数据。 在...

    前端RSA加密,压缩及base64

    本主题聚焦于"前端RSA加密,GZIP压缩base64",这涉及到三个关键概念:RSA加密、GZIP压缩以及Base64编码。 **RSA加密** 是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出。它的核心...

    C#中ICSharpCode.SharpZipLib字符串压缩

    `DecompressString`方法接收Base64编码的压缩字符串,先解码成字节数组,再用`GZipStream`解压缩,最后读取解压缩后的字符串。 需要注意的是,虽然示例代码使用了GZip格式,但SharpZipLib同样支持ZIP格式。如果要...

    字节编码实用程序:用于编码/解码 Base64 字符串和 GZIP 字节的 Matlab 实用程序。-matlab开发

    * Base64 编码* ZLIB 压缩* GZIP压缩* 图像压缩(需要图像处理工具箱) 该包在内部使用 JAVA 函数。 必须在 Matlab 中启用 JAVA。 用法----- ### Base64 编码 使用 `base64encode` 和 `base64decode` 进行编码/...

    字符串压缩与解压

    要使用GZipStream,我们需要创建一个MemoryStream对象来存储原始字符串的字节数组,然后通过GZipStream的压缩和解压缩流来处理这些字节。以下是一段简单的示例代码: ```csharp using System.IO; using System....

    Java GZip压缩使用以及解决包找不到问题

    在压缩数据后,我们可以使用`Base64.getEncoder().encodeToString()`方法将压缩后的字节数组转换为Base64字符串,以便在网络上传输。反之,若要解码并解压,我们可以使用`Base64.getDecoder().decode()`获取字节数组...

    Python-Python包用于将数字序列压缩成字符串

    `zlib`库提供了gzip和deflate算法的接口,可以对数据进行压缩,而`base64`库则用于将二进制数据编码为ASCII字符串,便于在网络传输中使用。 ```python import zlib import base64 def compress_number_sequence...

    调用GZip解压缩操作

    解压缩Base64字符串 ```csharp public static string DeCompress(string stringToDecompress) { // 这里缺少了解压的具体实现 } ``` 理论上,此方法应接收一个Base64编码的字符串,先将其转换为字节数组,然后再...

    小程序图片转base64

    在微信小程序中,开发者经常需要处理图片数据,例如将用户拍摄的照片或本地存储的图片转换为Base64编码的字符串。这是因为Base64编码是一种常见的数据传输格式,它可以把二进制数据转化为可打印的ASCII字符,便于在...

    基于pako.js实现gzip的压缩和解压功能示例

    `unzip`函数接收一个Base64编码的gzip压缩字符串,将其解压为原始JSON对象。`zip`函数则负责将一个JSON对象压缩成gzip格式的Base64字符串。 在`unzip`函数中,首先通过`atob`函数将Base64编码的字符串转换为二进制...

    vue中使用 pako.js 解密 gzip加密字符串的方法

    通常这样的加密字符串是以Base64编码的形式存在的,因此首先需要将其进行Base64解码。在JavaScript中,可以通过内置的`window.atob()`函数进行Base64的解码。解码后的字符串还需要进行进一步处理才能被pako库处理。 ...

    MatlabBase64Gzipzlibencoder.zip

    例如,如果你有一个二进制数组,你可以通过`base64encode`将其转换为字符串形式,然后在需要时使用`base64decode`将字符串还原为原始二进制数据。 接下来,我们讨论Gzip压缩。Gzip是一种广泛使用的数据压缩算法,它...

    多核处理图片转字符串

    图像被分割成像素,每个像素的色彩信息(红、绿、蓝分量)被转换为数字,然后通过某种编码方式(如Base64)转化为可打印的字符串。这种方法常用于在网络上传输图片,因为字符串可以轻松地嵌入到文本格式的数据中。 ...

    svg-url-loader:一个Webpack加载器,将SVG文件作为utf-8编码的DataUrl字符串加载

    浏览器解析utf-8编码的字符串的速度比其base64等效字符串的解析速度更快。支持的参数可以在url中或从webpack配置文件中传递参数。 见的WebPack文档中的部分获取更多细节。 还支持使用resourceQuery传递参数: . ...

    C#中图片、二进制与字符串的相互转换方法

    当有了二进制数据后,可以将其转换为Base64编码的字符串。Base64是一种用64个字符表示二进制数据的方法,常用于在网络上传输二进制数据。在C#中,`Convert.ToBase64String`函数可以将字节数组转换为Base64字符串。 ...

    matlab开发-Byteencodingutilities

    在MATLAB开发中,Byteencoding utilities是一组工具,主要用于处理数据的编码和解码,特别是针对base64字符串和gzip字节流。这些工具对于在MATLAB环境中进行数据传输、存储或在网络通信中使用二进制数据至关重要。...

Global site tag (gtag.js) - Google Analytics