如果我这样做:
img.getImageBytes(); /*returns byte[] from image */
如何使用表示该byte []的字符串进行反转?
答案 0 :(得分:1)
BufferedImage yourImage = ImageIO.read(new ByteArrayInputStream(bytes_array_of_image));
答案 1 :(得分:1)
我不知道你是如何打印字节数组的。但假设您使用的是toString()
方法或Arrays.toString()
方法。
然后,您获取byte[]
的字符串表示形式,剥离前导[
并展开]
并将其,
拆分为String[]
。现在创建一个与byte[]
大小相同的新String[]
。然后迭代String[]
并转换每个元素并添加到byte[]
。实施例
byte[] b = {1, 2, 3, 4, 5}; //Initial byte array also can be gotten from any other source
String s = b.toString(); //[1, 2, 3, 4, 5]
String[] sa = s.substring(1, s.length() - 1).split(",");
byte[] ba = new byte[sa.length];
for(int i = 0; i < ba.length; i++) {
ba[i] = Byte.valueOf(sa[i].trim());
}
//Now ba should contain 1, 2, 3, 4, 5