图像到字节数组到字符串(反之亦然)
我想将图像转换为字节数组,然后将该字节数组转换为字符串。另外,我想将该字符串转换回字节数组,最后转换回图像。我该如何去完成这个任务呢?任何帮助将不胜感激。
I'd like to convert an image into a byte array, then convert that byte array into a string. Also, I'd then like to convert that string back to a byte array, and finally back to an image. How might I go about accomplishing this? Any help will be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
ImageIO.write(..)
并传递ByteArrayOutputStream
。然后调用stream.toByteArray() - 你有字节。使用base64或十六进制将字节数组表示为字符串 - commons-codec 有
Base64
和Hex
允许双向转换。现在你有了字符串See 2 - 从字符串转换为字节数组。现在您又拥有了
byte[]
。使用
ImageIO.read(..)
并传递new ByteArrayInputStream(bytes)
(对于第 2 点和第 3 点,您可以使用
new String(bytes, "utf-8")
> 和string.getBytes("utf-8")
,但更喜欢使用 base64)Use
ImageIO.write(..)
and pass aByteArrayOutputStream
. Then callstream.toByteArray()
- you have the bytes.Use base64 or hex to represent the byte array as string - commons-codec has
Base64
andHex
which allow conversion in both directions. So now you have the stringSee 2 - convert from string to byte array. Now you have the
byte[]
again.Use
ImageIO.read(..)
and pass anew ByteArrayInputStream(bytes)
(for point 2 and 3 you can use
new String(bytes, "utf-8")
andstring.getBytes("utf-8")
, but prefer base64)