java压缩字符串,前端接收pako解压

使用springboot开发

1.后端java代码压缩:

```

/**

* 测试GZIP压缩之后返回给前端,前端使用pako解压缩

* @return

* @throws IOException

*/

@PostMapping(value ="/pakoGzipTest")

public String pakoGzipTest()throws IOException {

// 字符串超过一定的长度

    StringBuilder sb =new StringBuilder();

sb.append("

");

sb.append("

sb.append("inline-block; line-height: 0; width: 95%; box-sizing: border-box;\">");

sb.append("测试Java的GZIP压缩字符串,在前端js中使用pako解压还原

");

String str=sb.toString();

System.out.println("原始字符串长度:"+str.length());

String zip = PakoGzipUtils.compress(str);

System.out.println("压缩之后的字符串前100:"+zip.substring(0,100));

System.out.println("压缩编码后字符串长度:"+zip.length());

System.out.println("压缩比:"+(float)zip.length()/(float)str.length());

return zip;

}

```

2.后端java使用的压缩公共类PakoGzipUtils:

public class PakoGzipUtils {

/**

    * @param str:正常的字符串

    * @return 压缩字符串 类型为:  ³)°K,NIc i£_`Çe#  c¦%ÂXHòjyIÅÖ`

    * @throws IOException

*/

    public static String compress(String str)throws IOException {

if (str ==null || str.length() ==0) {

return str;

}

ByteArrayOutputStream out =new ByteArrayOutputStream();

GZIPOutputStream gzip =new GZIPOutputStream(out);

gzip.write(str.getBytes());

gzip.close();

return out.toString("ISO-8859-1");

}

}

3.前端页面(只是简单的一个html测试页面):

```

#####################我是分割线#######################

```

4.前端浏览器展示:


5.后端控制台输出:


你可能感兴趣的:(java压缩字符串,前端接收pako解压)