我的应用程序获取字节的字符串表示。我需要将它转换为byte []数组。我使用下面的代码,但它无法正常工作。
byte[] bytesArray = myString.getBytes();
任何人都可以帮助将其转换为byte[]
的正确方法。
编辑:
大家好,我的代码在这里http://pastebin.com/87jGprtD/。我有一个base64代码。这个base64包含text和imagedata的内容。我想从这段代码下载/创建一个图像。当我解码时,我得到text和imagedata的byte []。我将它转换为字符串,因为我必须区分每个部分。我用了一些分隔符现在我有一个字符串数组。该字符串包含imagedata。我必须将其转换回字节以创建图像。请检查相同的代码。请
以下是相关代码:
byte[] imageByteArray = Base64.decodeBase64(imageDataString);
System.out.println(new String(imageByteArray));
String[] contentArray = new String(imageByteArray).split("--1_520B30B0_E358708");
for (int i = 0; i < contentArray.length; i++) {
if (i == 2) {
String[] parts = contentArray[i].split("binary");
InputStream is = new ByteArrayInputStream((parts[1].trim()).getBytes());
ImageInputStream iis = ImageIO.createImageInputStream(is);
System.out.println(iis);
image = ImageIO.read(iis);
ImageIO.write(image, "JPG", new File("E:/test1.JPG"));
}
}
答案 0 :(得分:0)
您正在将Base64数据解码为byte[]
,然后将其转换为String
。你不能这样做 - “二进制”数据无法转换为String
并返回“二进制”而不会丢失数据。