使用java对象Deflater对一个String类型压缩,在linux下使用c++调用zlib库inflate解压时为乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java对象Deflater对一个String类型压缩,在linux下使用c++调用zlib库inflate解压时为乱码相关的知识,希望对你有一定的参考价值。

参考技术A 能压缩有能解压说明数据没有错,
错在linux下阅读时使用的工具错误,比如编辑器、记事本的编码不一致导致显示错误

java中StringBuffer与String创建对象问题???

参考技术A String()和StringBuffer()都有构造器,String
s1="hello";其实就是String
s1=
new
String("hello");的简写形式,这是java自动优化的,是先在堆中创建一个实例对象再赋值给s1,这里=不是运算符。String类说白了就是一个char[
]数组和一些方法,但这些方法是不能直接对数组进行修改的,而StringBuffer或StringBuilder可以对数组进行修改,一般需要对字符串内容进行操作都是用StringBuffer或StringBuilder完成。查看一下API你就会知道String里的那些方法。
int是基本类型,但不是对象,为此java有包装类Integer类,int
a=1;实际上是int
a=new
Integer(1);数组的实例对象都是存在堆中的,引用变量是存在栈中,变量里存的是指向这个对象的地址值,但java里这个地址值是不可见的,C里有指针,而java没有,二种语言这里很不一样~~

以上是关于使用java对象Deflater对一个String类型压缩,在linux下使用c++调用zlib库inflate解压时为乱码的主要内容,如果未能解决你的问题,请参考以下文章

Inflater 和 Deflater 解压缩中的坑

Deflater压缩算法

使用 Rack::Deflater 时,Rails 中的 HTTP 流式传输不起作用

Deflater与Inflater的压缩与解压缩

java中string类创建对象

java中StringBuffer与String创建对象问题???