在java中将字节的字符串表示形式转换为byte []

时间:2015-01-04 01:44:21

标签: java string bytearray

我的应用程序获取字节的字符串表示。我需要将它转换为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"));
    }
}

1 个答案:

答案 0 :(得分:0)

您正在将Base64数据解码为byte[],然后将其转换为String。你不能这样做 - “二进制”数据无法转换为String并返回“二进制”而不会丢失数据。