将图像转换为Base64字符串Android

时间:2018-12-06 23:05:29

标签: android

这是我的代码。我正在将我的Gallery图像转换为base 64字符串。这个基本的64位字符串通过此代码保存在数据库中,但是当我解码给我mime错误的字符串时。为什么会这样?

   if (resultCode == Activity.RESULT_OK) {
            // Picasso.get().load(data.getData()).into(ivprofile);
            filePath = data.getData().getPath();
            Glide.with(this).load(data.getData()).into(ivprofile);
            ivprofile.getDrawingCache();
            Bitmap bitmap = ivprofile.getDrawingCache();
            ByteArrayOutputStream stream=new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
            byte[] image=stream.toByteArray();
            img_str = Base64.encodeToString(image, Base64.DEFAULT);

        }

这就是我保存后得到的东西

 0x2F396A2F34414151536B5A4A5267414241514141415141424141442F3277424441414D4341674D4341674D4441774D4541774D45425167464251514542516F484277594944416F4D4441734B0A4377734E44684951445134524467734C4542595145524D55465255564441385847425955474249554652542F3277424441514D454241554542516B4642516B554451734E46425155464251550A46425155464251554642515546425155464251554642515546425155464251554642515546425155464251554642515546425155464251554642542F7741415243414751415A4144415349410A41684542417845422F38514148774141415155424151454241514541414141414141414141414543417751464267634943516F4C2F38514174524141416745444177494541775546424151410A414146394151494441415152425249684D5545474531466842794A7846444B426B61454949304B78775256533066416B4D324A7967676B4B4668635947526F6C4A69636F4B536F304E5459330A4F446B3651305246526B644953557054564656575631685A576D4E6B5A575A6E61476C7163335231646E643465587144684957476834694A69704B546C4A57576C35695A6D714B6A704B576D0A7036697071724B7A744C57327437693575734C44784D584778386A4A79744C54314E585731396A5A32754869342B546C3575666F3665727838765030396662332B506E362F385141487745410A417745424151454241514542415141414141414141414543417751464267634943516F4C2F385141745245414167454342415144424163464241514141514A334141454341784545425345780A42684A425551646863524D694D6F454946454B526F62484243534D7A55764156596E4C524368596B4E4F456C3852635947526F6D4A7967704B6A55324E7A67354F6B4E4552555A4853456C4B0A55315256566C64595756706A5A47566D5A326870616E4E3064585A3365486C36676F4F456859614869496D4B6B704F556C5A61586D4A6D616F714F6B7061616E714B6D7173724F30746261330A754C6D367773504578636248794D6E4B3074505531646258324E6E613475506B3565626E364F6E7138765030396662332B506E362F396F4144414D4241414952417845415077443871714B4B0A39612B4250774B757669646666326871486D577668753366456B713850634D502B576165337133626F4F6569625356324E4B2B694F532B4833777238522F4571394D4F6A57526142446957390A6D4F79434C36743350734D6E3272365838452F736A2B4764466A6A6D312B6562587277594C52686A4441443742666D50346E6E3072313155305034662B476A6757326A614C597835503843520A722F556B2F556B6E7554587A72385266327670704A4A4C50776261434B4D456A2B3072354D7333756B66516656732F376F72486D6C50593235597833506F58522F4148686E772F477161646F0A476E5765332B4B4B31514D6671324D6E38545736694C47675246434B42674B6F77425835336139385576463369576379366A346931436335794557637878672B794C68522B41726D7070354C0A683930736A794E6A4735324A4E487333315965305332522B6D3946666D4C5252374C7A4432766B6670315258356930556579387739723548366455562B5974464873764D50612B522B6E56460A666D4C5252374C7A4432766B6670315258356930556579387739723548366455562B5974464873764D50612B522B6E5646666D4C5252374C7A4432766B6670315258356930556579387739720A3548366455562B5974464873764D50612B522B6E5646666D4C5252374C7A4432766B6670315258356930556579387739723548366455562B5974464873764D50612B522B6E5646666D4C52520A374C7A4432766B6670315258356930556579387739723548366455562B5974464873764D50612B522B6E5646666D4C5252374C7A4432766B66703152583569305565793877397235483664550A562B5974464873764D50612B522B6E5646666D4C5252374C7A4432766B667079364C49685231444B526771777944574672486744777A7238624A714F6761646562757253327146683947786B0A6667612F4F61476553336664464938545978755269445853364438557646336871667A644F385261684163354B4E4F5A497966644779702F4555657A6652683752645566546E6A54396B62770A78724D556B7567547A364464386C5979786D674A3977783344384734394B2B61506942384C5045587731766842724E6C746763346876495476676C2F33573748324F4437563756384F6632760A706F35493750786C6143574D6B41616C5970686C39336A364836726A2F644E6652544A6F667841384E444974745A30572B6A795034306B582B68422B68424859696A6D6C44634F574D396A380A33714B39612B4F76774B7576686A6648554E50387937384E3344346A6C626C37646A6E39322F74364E3336486E72354C57796161756A4671326A4F742B4666772B75666956347A737447684C0A5277452B6264546A2F6C6C43702B5A7672794150646858336F69364E385076436F4759744D305854494F7034574E462F6D542B5A4A376B3135482B7950344B54526641302B767A52347539570A6C4952694F5241684B67666932382B2F792B6C636A2B31393852576B756254776261534552786862752B4B6E71787A3561483644356A3956394B7866767973625239794E7A793734796647580A5576696A726367456B6C746F55446E374A5935774D644E372B7248394D3448636E7A6D6969746B72614978627671776F6F6F70694369696967416F6F6F6F414B4B4B4B414369696967416F6F0A6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B41436969690A67416F6F6F6F414B39472B4458786C314C3457363347444A4A6336464F342B31324F636A4854656E6F772F586F6578486E4E464A712B6A476E625648365173756A6645447771526D4C5539460A314F44714F566B52763545666D434F784666426678542B48317A384E664756376F73354D6B4B2F766257636A2F5777746E6133313449507570723272396B48346A504863336E6732386B4A6A0A6B4458646957503357482B736A4831487A41657A657464622B3178344B5457664130477678526733656B79674F34484A676B4F306A38473248322B6173592B354B78732F656A6339593841610A4F6E682F77526F476E497533374E5977787350566767334838546B2F6A58775838554E666C38546645507846715575637A587367554535495253555166677167562B694B4973534B69414B710A6A41413641562B5A4D3072547A5353763935324C484871546D696C75324654524A444B4B4B4B334D416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F0A6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B414369696967416F6F6F6F414B4B4B4B4143696969670A416F6F6F6F41366A345761394C34612B496E683355597335697659315941344A526A736366697245666A583370342B30644E663845612F707A72752B30324D30616A30596F32302F676347760A7A6D676D61336D6A6C5847354744445054494F612F545A305752475267475668676739434B7771614E4D3370624E43312B59746670315835693055756F5665675555555675594252525251410A555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142520A525251415555555541464646464142525252514155555555414646464641425252525141562B6E56666D4C5836645668563647394C7146666D4C583664562B5974464C7146586F46464646620A6D4155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646410A4252525251415555555541464646464142525252514155555555414646464641425252525141555555554146667031583569312B6E565956656876533668583569312B6E56666D4C525336680A563642525252573567464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646460A464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142583664562B59746670315746586F6230756F562B59746670310A5835693055756F5665675555555675594252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541460A46464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141562B6E56666D4C5836645668563647394C710A46666D4C583664562B5974464C7146586F46464646626D41555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555550A414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146667031583569312B6E560A5956656876533668583569312B6E56666D4C525336685636425252525735674646464641425252525141555555554146464646414252525251415555555541464646464142525252514155550A555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425836640A562B59746670315746586F6230756F562B59746670315835693055756F56656755555556755942525252514155555555414646464641425252525141555555554146464646414252525251410A555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142520A52525141562B6E56666D4C5836645668563647394C7146666D4C583664562B5974464C7146586F46464646626D415555555541464646464142525252514155555555414646464641425252520A514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646410A425252525141555555554146667031583569312B6E565956656876533668583569312B6E56666D4C5253366856364252525257356746464646414252525251415555555541464646464142520A525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646460A46414252525251415555555541464646464142583664562B59746670315746586F6230756F562B59746670315835693055756F566567555555567559425252525141555555554146464646410A425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541460A4646464142525252514155555555414646464641425252525141562B6E56666D4C5836645668563647394C7146666D4C583664562B5974464C7146586F46464646626D4155555555414646460A464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555550A41464646464142525252514155555555414646464641425252525141555555554146667031583569312B6E565956656876533668583569312B6E56666D4C52533668563642525252573567460A464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155550A5555414646464641425252525141555555554146464646414252525251415555555541464646464142583664562B59746670315746586F6230756F562B59746670315835693055756F5665670A555555567559425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251410A555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141562B6E56666D4C5836645668563647394C7146666D4C583664562B590A74464C7146586F46464646626D4155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252520A5141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146667031583569312B6E56595665687653366858350A69312B6E56666D4C52533668563642525252573567464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142520A525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142583664562B59746670315746580A6F6230756F562B59746670315835693055756F5665675555555675594252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646410A42525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141562B6E56666D0A4C5836645668563647394C7146666D4C583664562B5974464C7146586F46464646626D41555555554146464646414252525251415555555541464646464142525252514155555555414646460A464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555550A4146667031583569312B6E565956656876533668583569312B6E56666D4C525336685636425252525735674646464641425252525141555555554146464646414252525251415555555541460A464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155550A555541464646464142583664562B59746670315746586F6230756F562B59746670315835693055756F56656755555556755942525252514155555555414646464641425252525141555555550A414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251410A55555555414646464641425252525141562B6E56666D4C5836645668563647394C71496A7249697568444B7779434F6846666D544E453045306B542F41486B597163656F4F5036562B6A50670A445745385165434E41314647336661624747526A364E73473466676369766776346F61424A345A2B4966694C545A633568765A43704977536A4573682F4657422F47696C75304654564A6E4C0A305555567559425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251410A5555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251412B43467269614F4A63626E594B4D394D6B3472394E6E6459305A32490A5656475354304172383776685A6F4D76695834696548644F697A6D57396A5A6942794555373350344B704E66656E6A37574530447752722B6F753233374E597A534B6656676A62522B4A77500A78724370756B6230746D7A7966396B6278716D732B427039416C6B2F3076535A5355556E6B77794573442B44627837636574636C2B3137384F586A756254786C5A786B78794262532B436A370A7244506C7948366A3553665A665776466668583851626E34612B4D72505759415A49422B36756F416639624333336C2B76414939774B2B394562527669423456427846716569366E4230504B0A7949333869507A42485969682B354B3452392B4E6A3833714B39472B4D6E7761314C345861334952484A6336464F352B7958324D6A4839782F52682B754D6A7542357A5779643955597457300A595555555578425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251410A55555555414646464641425252525141555555554146464646414252525251415555555541464646656A664272344E616C385574626A4A6A6B74744367636661373747426A2B346E71782F540A4F543242546474574E4B2B695055663251666879306C7865654D72794D694F4D4E615749596665592F7743736B483048796A3674365631763758486A564E47384451614246495074657253670A756F5049676A4F346E32793277652F7A5636367A614E38502F43704F49744D305854494F6734574E462F6D542B5A4A376B3138462F465034675850784B385A5875737A686F3457506C5773420A502B7168424F316672795366646A574D66666C633266755273636C587258774A2B4F7431384D62372B7A3951387937384E3344356B69586C37646A2F414D7445397656652F556339664A614B0A326154566D59703231522B6B4B746F667841384E484274746130572B6A77656A7049763943443943434F7846664F7678462F5A426D6A6B6B76504274324A59795366374F765877792B7953640A443947782F7647764666683938552F45587731766A506F7437746763356D73356876676C2F7742356338483347443731394C2B4376327550444773785278612F424E6F4E3377476B436D61410A6E324B6A635078586A3172486C6C445932356F7933506D50587668623475384E542B56715068335549446E4164594449682B6A726C542B42726D706F4A4C643973736278746A4F3131494E660A6F7A6F2F6A2F773134676A56394F312F54727A642F44466449574831584F522B49726452316B514F6A426C4979475535426F396F2B71443261657A507A476F72394F714B50612B516579387A0A3878614B2F5471696A32766B4873764D2F4D57697630366F6F39723542374C7A507A466F72394F714B50612B516579387A3878614B2F5471696A32766B4873764D2F4D57697630366F6F39720A3542374C7A507A466F72394F714B50612B516579387A3878614B2F5471696A32766B4873764D2F4D57697630366F6F39723542374C7A507A466F72394F714B50612B516579387A3878614B2F0A5471696A32766B4873764D2F4D57697630366F6F39723542374C7A507A466F72394F714B50612B516579387A3878614B2F5471696A32766B4873764D2F4D57697630366F6F39723542374C7A0A507A466F72394F714B50612B516579387A3878614B2F5471696A32766B4873764D2F4D57697630366F6F39723542374C7A507A466F72394F714B50612B516579387A387949594A4C683973550A6279746A4F31464A4E644C6F5077743858654A5A2F4B303777377145357A677530426A51665632776F2F45312B694C7573614633594B716A4A5A6A6743734C5750482F6872514932665564660A30367A322F77414D743067592F5263355034436A326A3649505A72717A35362B485037494D306B6B643534797578464743434E4F736E797A657A79644239467A2F7643766F6F746F66772F380A4E444A7474473057786A774F694A477639535439535365354E6552654E5032756644476A5279526142627A36396434777368557777412B3562356A2B43382B74664E4878412B4B66694C346B0A33776E316D394C516F637857634F5567692F33567A31397A6B2B39484C4B65346330596248572F485834363358784F766A702B6E2B5A61654737643878784E773977777A2B386632394637640A547A30386C6F6F725A4A4A5752693366566E2F2F32513D3D0A

4 个答案:

答案 0 :(得分:0)

遵循参考代码,以便在android中使用base64编码和解码图像。

    //encode image to base64 string
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.logo);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    byte[] imageBytes = baos.toByteArray();
    String imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT);

    //decode base64 string to image
    imageBytes = Base64.decode(imageString, Base64.DEFAULT);
    Bitmap decodedImage = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
    image.setImageBitmap(decodedImage);

答案 1 :(得分:0)

您可以使用此方法将图像转换为base64字符串

public static String encodeToString(BufferedImage image, String type) {
    String imageString = null;
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    try {
        ImageIO.write(image, type, bos);
        byte[] imageBytes = bos.toByteArray();

        BASE64Encoder encoder = new BASE64Encoder();
        imageString = encoder.encode(imageBytes);

        bos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return imageString;

将Base64字符串解码为图像

public static BufferedImage decodeToImage(String imageString) {


    BufferedImage image = null;
    byte[] imageByte;
    try {
        BASE64Decoder decoder = new BASE64Decoder();
        imageByte = decoder.decodeBuffer(imageString);
        ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
        image = ImageIO.read(bis);
        bis.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return image;
}

答案 2 :(得分:0)

您需要先启用图形缓存,然后才能从imageview获取位图。使用下面的代码。

imageView.setDrawingCacheEnabled(true);
imageView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
                   MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
imageView.layout(0, 0, 
                  imageView.getMeasuredWidth(), imageView.getMeasuredHeight()); 
imageView.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
imageView.setDrawingCacheEnabled(false);

或者您可以简单地使用它。

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();

答案 3 :(得分:0)

您可以通过以下方式进行操作:

保存到数据库

byte[] data = text.getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);

从数据库接收

byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, "UTF-8");

有关更多信息,请选中Base64