我GZIPOutputStream
在我的java程序中使用压缩大字符串,最后将它存储在数据库中。
我可以看到,在压缩英文文本时,我实现了 1/4 到 1/10 的压缩比(取决于字符串值)。例如,假设我的原始英文文本是 100kb,那么平均压缩文本将在 30kb 左右。
但是当我压缩 unicode 字符时,压缩后的字符串实际上比原始字符串占用更多的字节。比如说,我原来的 unicode 字符串是 100kb,那么压缩后的版本是 200kb。
Unicode 字符串示例:"嗨,这是,短信计数测试持续for.Hi这是短"
任何人都可以建议我如何实现 unicode 文本的压缩?为什么压缩版本实际上比原始版本大?
我在 Java 中的压缩代码:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream zos = new GZIPOutputStream(baos);
zos.write(text.getBytes("UTF-8"));
zos.finish();
zos.flush();
byte[] udpBuffer = baos.toByteArray();