Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将字节的字符串表示形式转换为字节[]_Java_String_Bytearray - Fatal编程技术网

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

在java中将字节的字符串表示形式转换为字节[],java,string,bytearray,Java,String,Bytearray,我的应用程序获取字节的字符串表示形式。我需要将其转换为字节[]数组。我正在使用下面的代码,但它不工作 byte[] bytesArray = myString.getBytes(); 有人能帮我把它转换成字节[]的正确方法吗 编辑: 大家好,我的代码在这里。我有一个base64代码。此base64包含文本和图像数据的内容。我想从这段代码下载/创建一个图像。当我解码时,我得到文本和图像数据的字节[]。我将其转换为字符串,因为我必须区分每个部分。我使用了带分隔符的spilt,现在我有了一个字符串数

我的应用程序获取字节的字符串表示形式。我需要将其转换为字节[]数组。我正在使用下面的代码,但它不工作

byte[] bytesArray = myString.getBytes();
有人能帮我把它转换成字节[]的正确方法吗

编辑:

大家好,我的代码在这里。我有一个base64代码。此base64包含文本和图像数据的内容。我想从这段代码下载/创建一个图像。当我解码时,我得到文本和图像数据的字节[]。我将其转换为字符串,因为我必须区分每个部分。我使用了带分隔符的spilt,现在我有了一个字符串数组。此字符串包含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"));
    }
}

您正在将Base64数据解码为字节[],然后将其转换为字符串。您不能这样做-二进制数据无法转换为字符串并返回到二进制而不丢失数据。

您遇到了什么错误?寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误,以及在问题本身中重现这些问题所需的最短代码。@CommuSoft-不管怎样,代码都应该有效。它可能不会返回预期的结果,但这是一个完全不同的问题。请定义字节的字符串表示法的含义,特别是因为听起来您试图得到的是字符串中的字节表示法-正如其他人所说,这要求您指定编码,如果一个字符的编码是可变长度(如UTF8或多字节),或者是两者的组合(如UTF16),那么可能会导致数组比字符串长。Vanaja,您必须向我们展示一些原始数据。我怀疑您的意思是,您错误地将二进制数据接收到字符串中。如果出现这种情况,您无法通过转换为字节[]来修复它,但必须首先更正代码,使其永远不会转换为字符串。