对于大字符串大小~15k,是任何可以安全实现的java推荐的字符串压缩和解压缩技术。 gzip格式在压缩期间提供垃圾字符,并且在HTTP soap请求中发送时会被破坏。请指教。
答案 0 :(得分:1)
当您压缩文本时,不再响应ASCII,UTF或任何其他编码。
压缩将在字符和位(而不是字节)之间创建一个新的转换表。一个字节可以表示少于一个字符,一个字符或多个字符。
压缩的目标是用较少的位表示最重复的字符。
一旦“压缩”,字节可能会与控制字符重叠,这就是为什么它们很难以文本形式传输。
当你没有替代方案并且已经通过http发送二进制格式的东西时,你会反过来做,你取位并添加额外的位以将二进制数据带入ASCII范围,例如在Base64中进行enconding。
这就是为什么如果你先通过压缩删除额外的位,然后你添加位来编码Base64,你可能最好原样发送原始文件。
这就是为什么我会以二进制格式发送数据的原因,看看soap是否有任何替代方法来发送并不意味着恢复压缩过程的二进制数据。