2015-09-28 7 views

Antwort

0

Sie müssen die Länge der Zeichenfolge senden oder die Verbindung schließen, damit Sie wissen, wo sich das letzte Byte befindet.

Die wahrscheinlichste Klasse, die Ihnen hilft, ist der DeflatorInputStream, den Sie verwenden, sobald die Bytes gelesen wurden. Dies ist ein blanker Wrapper für die zlib-Klasse. Ich habe nicht getestet, dass es mit Python funktioniert, aber es ist deine beste Option.

Sie können andere Komprimierungen wie Snappy oder LZ4 ausprobieren, die plattformübergreifende Unterstützung haben.

0

Ich nahm an, dass Sie bereits den Vernetzungsteil auf Java kennen. Sie können Inflater Klasse verwenden, um Ihre Zeichenfolge wie in javadocs

// Decompress the bytes 
Inflater decompresser = new Inflater(); 
decompresser.setInput(output, 0, compressedDataLength); 
byte[] result = new byte[100]; 
int resultLength = decompresser.inflate(result); 
decompresser.end(); 
//Then create string in java i assumed you are using python 2 and string is ASCII 
String str = new String(result,"US-ASCII") 
zu erhalten