图像到字节数组到字符串(反之亦然)

时间:2011-02-22 21:13:51

标签: java image-processing bytearray inputstream

我想将图像转换为字节数组,然后将该字节数组转换为字符串。此外,我想将该字符串转换回字节数组,最后返回到图像。我怎么能完成这个?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

  1. 使用ImageIO.write(..)并传递ByteArrayOutputStream。然后调用stream.toByteArray() - 你有字节。

  2. 使用base64或hex将字节数组表示为字符串 - commons-codec具有Base64Hex,允许双向转换。所以现在你有了字符串

  3. 参见2 - 从字符串转换为字节数组。现在您再次拥有byte[]

  4. 使用ImageIO.read(..)并传递new ByteArrayInputStream(bytes)

  5. (对于第2点和第3点,你可以使用new String(bytes, "utf-8")string.getBytes("utf-8"),但更喜欢base64)