2017-04-11 4 views
0

Ich möchte Python-Code in Java umschreiben. Dies ist Python-Code:Wie kann ich zlib.compress in Java implementieren

 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') 

und dies ist mein Java-Code: *

 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"); 

* aber sie scheint unterschiedliche Ergebnisse für die gleiche Zeichenfolge zurück zu sein, jede Idee, was ich zu bekommen ändern der gleiche Code arbeitet an Java? Zum Beispiel senden Sie in Java nicht das gleiche wie base64_string in Java

Antwort

2

GZIPOutputStream wird eine *.gz Datei produzieren. Wenn Sie nur einen zlib-Stream benötigen, verwenden Sie stattdessen DeflaterOutputStream.

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

Vielen Dank, es war hilfreich –

Verwandte Themen