PHP gzcompress 压缩,java实现gzuncompress
2017-03-05 09:17
1021 查看
1、PHP服务压缩数据
将字符串urlencode(因为压缩之后的字符串会有非显示字符):
2、java解压
由于PHP gzcompress使用ZLIB压缩,因此java选择对应的压缩算法解压。
有一点是特别要注意的,一定要设置字符集,由于系统一般是UTF-8编码。
将字符串urlencode(因为压缩之后的字符串会有非显示字符):
x%DAKLJNIMK%CF%C8%CC%CA%CE%01%00%1E%B8%04%CF
$str = "abcdefghijkl"; $str = urlencode(gzcompress($str, 9));//为了字符串字符可见
2、java解压
由于PHP gzcompress使用ZLIB压缩,因此java选择对应的压缩算法解压。
有一点是特别要注意的,一定要设置字符集,由于系统一般是UTF-8编码。
public static void main(String[] args) throws IOException { String tmp = "x%DAKLJNIMK%CF%C8%CC%CA%CE%01%00%1E%B8%04%CF"; String decodeTmp = URLDecoder.decode(tmp,"ISO-8859-1"); System.out.println(decompress(decodeTmp)); } public static String decompress(String data) throws UnsupportedEncodingException { return decompress(data,"ISO-8859-1"); } public static String decompress(String data, String charset) throws UnsupportedEncodingException { byte[] bytes = data.getBytes(charset); byte[] output = new byte[0]; Inflater decompresser = new Inflater(); decompresser.reset(); decompresser.setInput(bytes); ByteArrayOutputStream o = new ByteArrayOutputStream(bytes.length); try { byte[] buf = new byte[1024]; while (!decompresser.finished()) { int i = decompresser.inflate(buf); o.write(buf, 0, i); } output = o.toByteArray(); } catch (Exception e) { e.printStackTrace(); } finally { try { o.close(); } catch (IOException e) { e.printStackTrace(); } } decompresser.end(); return new String(output); }
相关文章推荐
- php gzcompress() 和gzuncompress()函数实现字符串压缩
- php压缩gzcompress和解压gzuncompress字符串的方法,适用于大数据的内容场景
- PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
- PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
- 压缩存储长字符串 gzcompress 和 gzuncompress 的使用
- 在网数据库中存储很大的字符串之前使用 gzcompress() 和 gzuncompress() 来显式的压缩/解压字符串
- Java实现将多个文件打包压缩成tar.gz文件
- PHP--->gzcompress,gzuncompress,flock
- java 实现php的gzinflat功能
- Java 编程之实现文件或目录的压缩.
- 用java.util.zip实现对数据的压缩
- 利用Java实现zip压缩/解压缩
- 使用java.util.zip实现zip压缩和解压
- php gzip压缩输出的实现方法
- php实现的简单压缩英文字符串的代码
- java zip 实现压缩文件和文件夹类Compressor.java
- 用PHP+java实现自动新闻滚动窗口
- 使用Java实现网络传输数据的压缩.
- 总算在C#.NET,Python,Ruby上实现了php的zlib的gzcompress函数
- java实现多个文件压缩