pom
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.1.8.4</version>
</dependency>
代码
import org.xerial.snappy.Snappy;
import java.util.Base64;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SnappyUtil {
public static String compress(String data) throws Exception {
byte[] compressed = Snappy.compress(data.getBytes("UTF-8"));
return Base64.getEncoder().encodeToString(compressed);
}
public static String decompress(String compressedData) throws Exception {
byte[] compressedBytes = Base64.getDecoder().decode(compressedData);
byte[] uncompressed = Snappy.uncompress(compressedBytes);
return new String(uncompressed, "UTF-8");
}
public static String unicodeToString(String unicodeStr) {
Pattern pattern = Pattern.compile("\\\\u([0-9a-fA-F]{4})");
Matcher matcher = pattern.matcher(unicodeStr);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String unicode = matcher.group(1);
char ch = (char) Integer.parseInt(unicode, 16);
matcher.appendReplacement(sb, String.valueOf(ch));
}
matcher.appendTail(sb);
return sb.toString();
}
}