我想将图像转换为字节数组,然后将该字节数组转换为字符串。此外,我想将该字符串转换回字节数组,最后返回到图像。我怎么能完成这个?任何帮助将不胜感激。
答案 0 :(得分:6)
使用ImageIO.write(..)
并传递ByteArrayOutputStream
。然后调用stream.toByteArray()
- 你有字节。
使用base64或hex将字节数组表示为字符串 - commons-codec具有Base64
和Hex
,允许双向转换。所以现在你有了字符串
参见2 - 从字符串转换为字节数组。现在您再次拥有byte[]
。
使用ImageIO.read(..)
并传递new ByteArrayInputStream(bytes)
(对于第2点和第3点,你可以使用new String(bytes, "utf-8")
和string.getBytes("utf-8")
,但更喜欢base64)