Java 类型转换:字节[]到字符串,字符串到字节[]
出于教育目的,我尝试使用Android的摄像头获取照片,并使用SOAP将其发送到Web服务 首先,摄像头向我发送一个Java 类型转换:字节[]到字符串,字符串到字节[],java,android,type-conversion,Java,Android,Type Conversion,出于教育目的,我尝试使用Android的摄像头获取照片,并使用SOAP将其发送到Web服务 首先,摄像头向我发送一个字节[]数组,但这是不可序列化的,我无法将其发送到Web服务。现在我尝试将其转换为字符串(此类型可序列化),并在Web服务中将此字符串重新转换为字节[]数组 我怎么能做到 例如,我正在尝试: request.addProperty("photo", (Arrays.toString((byte[])params[0]))); 如何获取该字符串并将其转换为原始的字节[] 提前谢谢
字节[]
数组,但这是不可序列化的,我无法将其发送到Web服务。现在我尝试将其转换为字符串
(此类型可序列化),并在Web服务中将此字符串
重新转换为字节[]
数组
我怎么能做到
例如,我正在尝试:
request.addProperty("photo", (Arrays.toString((byte[])params[0])));
如何获取该字符串
并将其转换为原始的字节[]
提前谢谢 如果确实需要将
字节[]
转换为字符串
,请使用用于任意字节数据的中间序列化,例如<代码>字符串s用于字符数据,而不是任意的byte[]
s
使上述内容变得微不足道
这个问题几乎是重复的。如果您的web服务只支持ASCII输入,您可以在base 64中对数据进行编码:最后,我使用它将字节[]发送到web服务并对其进行解码。 谢谢 ANDROID SOAP服务:
request.addProperty("photo", Base64.encodeToString((byte[])params[0], Base64.DEFAULT));
SOAP Web服务
BASE64Decoder decoder = new BASE64Decoder();
byte[] a = decoder.decodeBuffer(VAR);
将其转换为图像格式并序列化会不会更容易?
字节[]
不可序列化?序列化正是转换为字节[]
…我建议您使用字节[]
而不是字节[]
,因为后者效率较低。顺便说一句,字节[]是可序列化的,您可以按原样发送。感谢您提供更快的答案。当我尝试发送byte[]Android时。。。06-16 22:10:18.787:W/System.err(19363):java.lang.RuntimeException:无法序列化:[B@41180398