如何在VBA 6/VBA 7和Java 8之间匹配ZLib流?
我们能够做到以下几点 在VBA 6/VBA 7中:如何在VBA 6/VBA 7和Java 8之间匹配ZLib流?,vba,dll,compression,zlib,jzlib,Vba,Dll,Compression,Zlib,Jzlib,我们能够做到以下几点 在VBA 6/VBA 7中: 请参阅32位zlibwapi.dll(VBA 6)或64位zlibwapi.dll(VBA 7) 调用compress()或compress2()方法以生成压缩的 溪流 调用uncompress()和uncompress2()方法进行解压缩 压缩流 在Java8中(Tomcat8上的JDK1.8) 有一个简单的java程序,使用新的 Deflater()实例 有一个简单的Java程序,可以使用Inflater()进行解压缩 实例 当VB
- 请参阅32位zlibwapi.dll(VBA 6)或64位zlibwapi.dll(VBA 7)
- 调用compress()或compress2()方法以生成压缩的
溪流 - 调用uncompress()和uncompress2()方法进行解压缩 压缩流
- 有一个简单的java程序,使用新的 Deflater()实例
- 有一个简单的Java程序,可以使用Inflater()进行解压缩 实例
谢谢-这有助于将VBA请求传递给Javaservlet。现在,另一种方法是引起问题(Java对VBA的响应)。我们注意到了你的回答。我们想编写我们自己的isValidZLibFormat(bytes[]),但需要更多地了解0aaa1000 bbbcccc字节结构,由您在那里解释。什么是a,b,c?请举例说明:如果((firstByte*256)+secondByte)%31==0)返回true,该操作是否有效;否则返回false;?每一个字母都有一点点。您可以用您喜欢的任何位替换a和b(有64种可能性),但是您需要设置c,以便由网络顺序中的两个字节组成的整数是31的倍数。您的if语句是您可以检查的内容的一部分。您还应该检查固定位,因此
&&(firstByte&0x8f)==8
。这并不能肯定地告诉您有一个zlib流,但它确实告诉您前两个字节是一个zlib头。请注意,随机数据在大约0.1%的时间内似乎具有有效的zlib头。在您的检查中&&(firstByte&0x8F)==8,您是否建议aaa位始终为0?您知道&
的作用吗?