请教个toByteArray的问题

amani11 2010-09-13 02:50:29
用php和JSP的WEBSERVER通讯

但是服务端的接收的字符串,经过了转换,仅仅为了这点东西,如果通过php调用java的方法,显然不合适

我知道下面代码中data.getBytes()的作用,但是我不理解bos.toByteArray();这一步的结果怎么出来的

换句话说,核心代码如下,一个字符串data,怎么得到byte型的bos.toByteArray()数组,我需要知道算法用php去实现

我打印过data.getBytes(), bos.toByteArray()的数组,实在找不出规律

public static String Compress(String data)
{
……
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DeflaterOutputStream zos = new DeflaterOutputStream(bos);
zos.write(data.getBytes());
zos.close();
……bos.toByteArray();
……
……
}

...全文
809 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kokobox 2010-09-13
  • 打赏
  • 举报
回复
你要在php中读取数据后解压,你应该研究如何解压。

研究InflaterInputStream 这个类。

压缩的类就不用看了。 我觉得。

amani11 2010-09-13
  • 打赏
  • 举报
回复
DeflaterOutputStream

是否从jdk安装目录下的
src.zip
java
util
zip
DeflaterOutputStream.java =>是否意味着,我可以从这里开始,找出端倪?
kokobox 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 amani11 的回复:]

呵呵,谢谢LS两位

对方服务端接收的数据,必须经过Compress()方法,返回的字符串,这就是对方提供的转码规则


我这边用了php开发。。。能php实现这样转换,最好了。。否则,得调用java,完成这一步……晕
[/Quote]

他的转码是系统默认的编码。

我觉得php应该可以转,只是定义一下编码格式就好了。

wcwtitxu 2010-09-13
  • 打赏
  • 举报
回复
恩,楼上说的是。 ByteArrayOutputStream 就只是提供一个写入的缓冲区 ...

主要还是 DeflaterOutputStream 对数据做了压缩, 没有用过这个,最好查看一下 DeflaterOutputStream 的相关源码
thegodofwar 2010-09-13
  • 打赏
  • 举报
回复
ByteArrayOutputStream就是提供一个写入的缓冲区 ...
amani11 2010-09-13
  • 打赏
  • 举报
回复
呵呵,谢谢LS两位

对方服务端接收的数据,必须经过Compress()方法,返回的字符串,这就是对方提供的转码规则


我这边用了php开发。。。能php实现这样转换,最好了。。否则,得调用java,完成这一步……晕
kokobox 2010-09-13
  • 打赏
  • 举报
回复
String 的getBytes()使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

如果是转码问题的话,双方谈接口的时候应该确定编码规则和转码规则。 或者加密规则。

这样的话应该好些。

kokobox 2010-09-13
  • 打赏
  • 举报
回复
bos.toByteArray()

方法:


public synchronized byte toByteArray()[] {
byte newbuf[] = new byte[count];
System.arraycopy(buf, 0, newbuf, 0, count);
return newbuf;
}


得到byte缓存的内容并返回一个新的byte数组。

其实不知道你的问题是什么,我觉得你去研究这个方法应该没有什么必要。

crazylaa 2010-09-13
  • 打赏
  • 举报
回复
这个要去看String类的getBytes()方法了,跟编码有关系。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧