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

Posted

技术标签:

【中文标题】图像到字节数组到字符串(反之亦然)【英文标题】:Image to Byte Array to String (and vice versa) 【发布时间】:2011-07-02 07:49:51 【问题描述】:

我想将图像转换为字节数组,然后将该字节数组转换为字符串。另外,我想将该字符串转换回字节数组,最后转换回图像。我该怎么做呢?任何帮助将不胜感激。

【问题讨论】:

到目前为止你尝试过什么?以下哪个步骤给您带来的麻烦最大? 如果您告诉我们原因,那么人们可能会考虑提出替代方案,因为也许这并不是问题的真正解决方案 - 不过您可以更详细一些。 这两个链接可以帮助你 - ***.com/questions/3211156/… 和 ***.com/questions/1580038/byte-array-to-image-file 另一个可以帮助的链接***.com/questions/469695/decode-base64-data-in-java @Oli Charlesworth 图像到字节数组,反之亦然 【参考方案1】:

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

    使用 base64 或十六进制将字节数组表示为字符串 - commons-codec 具有 Base64Hex,它们允许双向转换。所以现在你有了字符串

    参见 2 - 从字符串转换为字节数组。现在您又拥有了byte[]

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

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

【讨论】:

programcreek.com/2009/02/… 喜欢这样吗?但我使用的是 jdk 6 但我找不到类 ImageIO !! @adham - javax.imageio.ImageIO。使用 IDE 组织您的导入,它会立即找到它。 @adham - 是的,与链接中显示的完全一样。只是不要使用com.sun..internal - 获取 apache commons-codec。 @adham - 你导入了吗.. ?

以上是关于图像到字节数组到字符串(反之亦然)的主要内容,如果未能解决你的问题,请参考以下文章

浮点数组到字节数组和反之亦然

字节数组字符串到字节数组? [复制]

字符串到字节[],反之亦然? [复制]

BMP字节数组到BMP图像php

如何将带有图像的字节数组从 AS3 发送到 PHP?

字节数组到图像的转换