相关疑难解决方法(0)

如何将二进制数据转换为字符串并返回Java?

我在文件中有二进制数据,我可以读入字节数组并且没有任何问题.现在,我需要通过网络连接将部分数据作为XML文档中的元素发送.我的问题是,当我将数据从一个字节数组转换为一个字符串并返回一个字节数组时,数据就会被破坏.我已经在一台机器上对此进行了测试,以将问题与String转换隔离开来,所以我现在知道它不会被XML解析器或网络传输损坏.

我现在得到的是

byte[] buffer = ...; // read from file
// a few lines that prove I can process the data successfully
String element = new String(buffer);
byte[] newBuffer = element.getBytes();
// a few lines that try to process newBuffer and fail because it is not the same data anymore
Run Code Online (Sandbox Code Playgroud)

有谁知道如何将二进制转换为String并返回而不会丢失数据?

回答:谢谢Sam.我觉得自己像个白痴.我昨天得到了回答,因为我的SAX解析器在抱怨.出于某种原因,当我遇到这个看似独立的问题时,我并没有想到它是同一问题的新症状.

编辑:为了完整起见,我使用Apache Commons Codec包中的Base64类来解决这个问题.

java serialization

27
推荐指数
2
解决办法
9万
查看次数

Java:如何恢复使用python的zlib编码器压缩的字符串数据

我通过套接字从python发送数据到java.

所以在python 2.7方面,我有:

s = "this is test str"
compressed = s.encode('zlib')
push_to_tcp_socket(compressed)
Run Code Online (Sandbox Code Playgroud)

所以我需要在java端恢复初始字符串.我怎么能这样做?

python java compression zlib

5
推荐指数
1
解决办法
153
查看次数

标签 统计

java ×2

compression ×1

python ×1

serialization ×1

zlib ×1