2017-04-11 104 views
0

我想將python代碼重寫爲java。這是Python代碼:如何在java中實現zlib.compress

 zipped = zlib.compress(data_json_upload.encode("utf-8")) 
     print ("data encode") 
     print (zipped) 
     base64_bytes = base64.b64encode(zipped) 
     base64_string = base64_bytes.decode('utf-8') 

,這是我的Java代碼: *

 byte[] bytes = inputString.getBytes("UTF-8"); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     GZIPOutputStream os = new GZIPOutputStream(baos); 
     os.write(bytes, 0, bytes.length); 
     os.close(); 
     byte[] result = baos.toByteArray(); 
     System.out.println(result); 
     byte [] base64=Base64.encodeBase64(result); 
     String send= new String(base64,"UTF-8"); 

* 但他們似乎返回不同的結果爲相同的字符串我有什麼可以改變,以得到任何想法相同的代碼工作在Java? 例如java中發送的java不一樣base64_string

回答

2

GZIPOutputStream會產生一個*.gz文件。如果您只需要一個zlib流,請改用DeflaterOutputStream

// ... the rest are the same ... 
    DeflaterOutputStream os = new DeflaterOutputStream(baos); 
    // ... the rest are the same ... 
+0

謝謝你有幫助 –