gpt4 book ai didi

java - 将图像序列化为字符串

转载 作者:行者123 更新时间:2023-12-02 00:23:19 25 4
gpt4 key购买 nike

好 friend 。

几个月来我一直在寻找一种方法来序列化我存储在 imageView 中的图像。

该图像由相机拍摄并启动 ImageView,但问题 esque 需要序列化并将其传递给文本字符串。

我在谷歌和论坛上进行了多次搜索,但没有找到答案。

有人知道我该怎么做吗?

最佳答案

如果您想将二进制数据作为文本安全地移动,您可以对二进制数据进行 Base64 编码。如果您使用的 Android API 不包含 Base64 实用程序,请参阅:How to use Base64 (included in android since api 8 (2.2)) in a android project api 3 (android 1.5)?

一旦您的二进制数据经过 Base64 编码,它就可以安全地通过只需要“纯”ascii 文本的系统。

请记住,您的位图数据将是未压缩的,因此在进行 Base64 编码时将生成大量文本(Base64 编码导致表示数据所需的字节数增加 1/3)。为了缓解这种情况,您应该在使用 Base64 编码之前压缩 Bitmap 图像数据,例如:

try
{
ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
bitmap.compress(CompressFormat.JPEG, COMPRESSION_AMOUNT, baos);
byte[] compressedBytes = baos.toByteArray();
}

您希望将 COMPRESSION_AMOUNT 设置为 50-80 之间的值,具体取决于您想要的大小和质量之间的权衡。

接收您数据的任何客户端首先需要进行 Base64 取消编码,然后将生成的字节解析为 JPEG 数据以重新创建图像。

关于java - 将图像序列化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com