package net.cattaka.util.cathandsgendroid.test.model.coder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class StringArrayCoder {
public static byte[] encode(List<String> arg) {
if (arg == null) {
return null;
}
try {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
DataOutputStream dout = new DataOutputStream(bout);
dout.writeInt(arg.size());
for (String str : arg) {
dout.writeUTF(str);
}
dout.flush();
return bout.toByteArray();
} catch (IOException e) {
return null;
}
}
public static List<String> decode(byte[] arg) {
if (arg == null) {
return null;
}
try {
ByteArrayInputStream bin = new ByteArrayInputStream(arg);
DataInputStream din = new DataInputStream(bin);
int n = din.readInt();
List<String> result = new ArrayList<String>();
for (int i = 0; i < n; i++) {
String str = din.readUTF();
result.add(str);
}
return result;
} catch (IOException e) {
return null;
}
}
}