首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将字符串转换为图像(Java)

如何将字符串转换为图像(Java)
EN

Stack Overflow用户
提问于 2012-02-11 20:05:39
回答 4查看 20K关注 0票数 1

我有一个关于我的申请的详细问题。-我有一个java servlet从彩信网关接收数据(MM7协议),我得到输入流(图像内容,消息内容)转换成字符串

代码语言:javascript
运行
复制
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//String orgin = new String(byteArrayOutputStream.toByteArray(),"UTF-8");
String orgin = Streams.asString(request.getInputStream(), "ISO-8859-1");

然后,我将图像内容的子串base64转换为base64并保存到图像文件中,但是我转换为orgin的字符串无法保存到图像中,因为这个错误

代码语言:javascript
运行
复制
not a jpeg file 

I打印出字符串base64不是以/9j开头,这意味着不是jpg格式

请给我建议或举个例子。

最佳要求

新手菜鸟

对不起,我的英语:)

EN

回答 4

Stack Overflow用户

发布于 2012-02-11 20:09:45

这至少是你问题的一部分:

代码语言:javascript
运行
复制
String orgin = Streams.asString(request.getInputStream(), "ISO-8859-1");

你不应该一开始就把它转换成字符串。这是二进制数据,对吧?因此,从流中读取它作为二进制数据。

现在听起来您基本上想要获得该二进制数据的单独“块”-但是将数据转换为字符串格式是不合适的,除非该二进制数据确实是编码文本。

票数 2
EN

Stack Overflow用户

发布于 2012-02-11 20:08:24

我认为,这可能会有所帮助:http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx

票数 0
EN

Stack Overflow用户

发布于 2012-07-30 17:39:40

图像的编码非常简单。

编码源:

代码语言:javascript
运行
复制
    Bitmap bm = BitmapFactory.decodeFile(picturePath);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            byte[] byteArray = baos.toByteArray();

            encodedImage = Base64.encodeToString(byteArray, Base64.DEFAULT);

    ImageView imageView = (ImageView) findViewById(R.id.imageView1);
            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

解码源:

代码语言:javascript
运行
复制
    byte[] decodedString;
        decodedString = Base64.decode(picture, Base64.DEFAULT);

        imageView1.setImageBitmap( BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9240067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档