Android的 - 字符串转换为byte [] [英] Android - Convert String to byte[]

查看:141
本文介绍了Android的 - 字符串转换为byte []的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想图标的字符串转换为字节数组,而不是将其转换为位图。问题是在模拟器中的图像不显示。我想我没有做正确的,但我知道为什么。我将不胜AP preciate你的帮助。在此先感谢

这是我的JSON数据:

  {
    工程:
        {
            缩写:ABD
            客户:的customer1
            说明:内容描述,
            图标: \"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVR42sXTXUhTYRgH8NNNXkTdmPlRpltqalgXZlB4hCC6C8VyYjErtbCoNLJiqQmOtqmYCkUXdhNEGSHYuVXCj81N58dcO+rOPt3c2dnOWTubeSPUv6PZx1U3XfTAj4f3gf/zXL0E8d+LoqgEw+RkvnnOWmi22H6Ytx4bHRtLSt2XSKhUqr8vkMKFYS5I8y5LhGemBYEx8xHPp3CICxpoevFcf3//LrVanaDRaBK0Wu0WnU632XdK8x3E1MxcSZR1Cez7ewgM1IEdqEWYasW6yCMajQqBQGDE5/N98Hq9lNvtppxOJ8UwDEXT9LuJiYmThMlkIuMxUVgXQ1KIw5doEGufOcRjMYiiiEgkAp7nwXEcWJaF3+/HysoKnC7XxtTUdA1hNBrJzUvx+Bpi8Thisbh0+XcwFAohyIUQYANS0A2P2wGXyw6GWdyYMo7VEXq9nuR5QSpeCnDgw0GEQ6x0MQA24MeqzwPvwhiWXzeD7q6CrecibL2XYO2s+DrzoGCEGNcbilmfk3e8fYSlXiWWn13F8vMaLD27gsU+JWydFbDcLcRsVTJmFEmYqdym2AuzcreDGNWbij02A79w/wTmlOmYqz74y6zypwzMVmdi9vIfqjNgrk0cJz5OmIoZI8Vb7kkLruVK8rblbpm/dhjz1yX1ObBsuvHD5tt8K3WQGB43FtPDr3hLYxEW6o/CWl8A280jWLydh+XGHDBNWXA+lMOpksHVnAlnSyYcrTLYW+SwtqS9kBZMkrahPoG+Uwh7w1G4m/LgV2Uh2CZDWJ0BQZOOSMd+RDpTIXSlgJdwnWlY7TjwjdGmtRFvBoeK9C9b7fMNx2J0U67oeHRI9D6WiavtcjH4JEvktBKdXJIusrpU0a9NFj2aFNHefiBsUGVcJk6fObunqbq0SF2aX6IpyyY7yrPIrvPZZHdFDtmjyCV7K/O3+lOFNFPIya4KGdlxQUa2l8lPlR9PS/nnz/gdnPcTQcpv7vgAAAAASUVORK5CYII=\",
            名:projectname1
            plannedEndDate:2012-05-25T00:00:00 + 01:00,
            plannedStartDate:2012-05-23T00:00:00 + 01:00,
            projectStatus:{
                名:打开
            },
            realEndDate:2012-05-25T00:00:00 + 01:00,
            realStartDate:2012-05-23T00:00:00 + 01:00
        }
    ]
}

我这样做是这样的,但它不工作:

  //字符串转换为byte []
串stringToConvert = project.getIcon();
字节[] = theByteArray stringToConvert.getBytes();//转换字节[]为位图
位图BM = BitmapFactory.de codeByteArray的(theByteArray,
        0,theByteArray.length);
DisplayMetrics DM =新DisplayMetrics();holder.imageIcon.setMinimumHeight(dm.heightPixels);
holder.imageIcon.setMinimumWidth(dm.widthPixels);
holder.imageIcon.setImageBitmap(BM);


解决方案

从字符串图标看来你已经使用的的Base64 <转换你的图像串/ STRONG>。所以,你必须将其转换回使用Base64编码本身字节

  //接收方
字节[]数据= Base64.de code(iconString,Base64.DEFAULT);

希望这有助于...

I want to convert the string of "icon" to byte array and than to convert it to Bitmap. The problem is the image in the emulator is not displaying. I suppose I'm not doing right but I know why. I would greatly appreciate your help. Thanks in advance

This is my JSON Data :

{
    "project": [
        {
            "abbreviation": "abd",
            "customer": "customer1",
            "description": "description1",
            "icon": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVR42sXTXUhTYRgH8NNNXkTdmPlRpltqalgXZlB4hCC6C8VyYjErtbCoNLJiqQmOtqmYCkUXdhNEGSHYuVXCj81N58dcO+rOPt3c2dnOWTubeSPUv6PZx1U3XfTAj4f3gf/zXL0E8d+LoqgEw+RkvnnOWmi22H6Ytx4bHRtLSt2XSKhUqr8vkMKFYS5I8y5LhGemBYEx8xHPp3CICxpoevFcf3//LrVanaDRaBK0Wu0WnU632XdK8x3E1MxcSZR1Cez7ewgM1IEdqEWYasW6yCMajQqBQGDE5/N98Hq9lNvtppxOJ8UwDEXT9LuJiYmThMlkIuMxUVgXQ1KIw5doEGufOcRjMYiiiEgkAp7nwXEcWJaF3+/HysoKnC7XxtTUdA1hNBrJzUvx+Bpi8Thisbh0+XcwFAohyIUQYANS0A2P2wGXyw6GWdyYMo7VEXq9nuR5QSpeCnDgw0GEQ6x0MQA24MeqzwPvwhiWXzeD7q6CrecibL2XYO2s+DrzoGCEGNcbilmfk3e8fYSlXiWWn13F8vMaLD27gsU+JWydFbDcLcRsVTJmFEmYqdym2AuzcreDGNWbij02A79w/wTmlOmYqz74y6zypwzMVmdi9vIfqjNgrk0cJz5OmIoZI8Vb7kkLruVK8rblbpm/dhjz1yX1ObBsuvHD5tt8K3WQGB43FtPDr3hLYxEW6o/CWl8A280jWLydh+XGHDBNWXA+lMOpksHVnAlnSyYcrTLYW+SwtqS9kBZMkrahPoG+Uwh7w1G4m/LgV2Uh2CZDWJ0BQZOOSMd+RDpTIXSlgJdwnWlY7TjwjdGmtRFvBoeK9C9b7fMNx2J0U67oeHRI9D6WiavtcjH4JEvktBKdXJIusrpU0a9NFj2aFNHefiBsUGVcJk6fObunqbq0SF2aX6IpyyY7yrPIrvPZZHdFDtmjyCV7K/O3+lOFNFPIya4KGdlxQUa2l8lPlR9PS/nnz/gdnPcTQcpv7vgAAAAASUVORK5CYII=",
            "name": "projectname1",
            "plannedEndDate": "2012-05-25T00:00:00+01:00",
            "plannedStartDate": "2012-05-23T00:00:00+01:00",
            "projectStatus": {
                "name": "Opened"
            },
            "realEndDate": "2012-05-25T00:00:00+01:00",
            "realStartDate": "2012-05-23T00:00:00+01:00"
        }
    ]
}

I did it like that but it's not working :

// convert String to byte[]
String stringToConvert = project.getIcon();
byte[] theByteArray = stringToConvert.getBytes();

// convert Byte[] to Bitmap
Bitmap bm = BitmapFactory.decodeByteArray(theByteArray,
        0, theByteArray.length);
DisplayMetrics dm = new DisplayMetrics();

holder.imageIcon.setMinimumHeight(dm.heightPixels);
holder.imageIcon.setMinimumWidth(dm.widthPixels);
holder.imageIcon.setImageBitmap(bm);

解决方案

From the string icon it seems you have converted your image to string by using Base64. So you have to convert it back to bytes using Base64 itself

// Receiving side
byte[] data = Base64.decode(iconString, Base64.DEFAULT);

Hope this helps...

这篇关于Android的 - 字符串转换为byte []的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆