android - 将图像转换为 Base64 字符串 Android

标签 android base64

我可以使用以下代码获取编码的字符串:

public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality) {

        ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
        image.compress(compressFormat, quality, byteArrayOS);
        return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.NO_WRAP);
    }


   BitmapDrawable drawable = (BitmapDrawable) imgPreview.getDrawable();
   Bitmap bitmap = drawable.getBitmap();
   encodedImage = encodeToBase64(bitmap, Bitmap.CompressFormat.JPEG, 100);

我得到以下字符串
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCADmAZgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDjNH0CSxvdTs4LdYEaa0vBGq7FaO4j8hiMscAS2rOp24VsEMMknVls5Yku1iR3QqoOccbTKdpOD+7AZSAFxksdxCsx/TOT9mX9k/wRKbv42ft/fBy3uoVWG40b4IeFvEfxdu5lheVvsUWtaJIbWCVWaQsbjRHjhkZ2mIQFq4rxN8dP+CS/whsbz+yPhr+0h+0vrFtDLKD4s8UaN8LfCF1NEHAxceH7rQPElnFMdkm2bQbwohL/ADESRH4SGQxivaVq0I92lr8S2cu/u9nbl1ep6/8AbVerdU6cqkna3W+sukU/W/XTpZn8/wB+0ok1ta6fpl3FIsD2EkjXMg8qKMwOkckakoBJkqHV1dTgliH3K1fnn4qm02O2t5NPKlpox5rKd6xuryIQMnLH5QQemGTII3E/pJ/wUG/al8P/AB3s/DukeDfgT8G/gVoOk6hrU+k6F8N4te1jxdd6fd/ZoRL4/wDiH4m1G61bxTL/AKI/2G2Wz0zT7MrPPb2Amu5J2/KS+imbRJLqJmcaZMiXYTOEt7hwYZXG0lUSbMLvnbunt1IJXB97CYenQw/sqTbUbNN7u7k76L7V3ZL06ORnGrWxEpVK61Tj7uqUYpz0s9dbdLvZXdtcW7DTN9pPRn2zDjliWBcj5SNy8HvvPUkBjZsIVb/aAwoVgWAUk52qTgEDJABAA2jBODVCO5jK7QQY3XDqB/Cc4PXAYZBUkdchiCM1t6bHh2UEA712naW3oS+Hxk5BCqTggglhyVOdG7Jvsv8A5Jd/Jfjq7NnetYJxTslr+nX/AIbqz9Df+CeWnCX9pLwfOEDLZaX4juWYthedEvrIM2f4QbnBAPXaCxBIb+oLwwFGl2h+ZPLlBcKDuy7TBk6dD5WRwcDOS245/m7/AOCaOl/avjtf3BIKab4C1y6Hy5w8+qaFZYUZ4bbcSZIOAMZILPX9J2hqi6RHIkmHBUhQmc7bicnHAx8kmcNgn+8Fxn8p4stPMknq1Qp2v3c5aXv2s/m7t6n1OT3WB0lr7R67bu2tn219erTsYOs7/wDhY/hKCIM7x2utaiNw+UJFFFb71Oc523ZXceCGwQxwak+KmmrP4ca8d2zbzGQOu0OomiZGJBDcOY245DFhHtZV+bqdF0+LV/ifqLklm0rwVa7Cfn2Pq2rXgOdwI6aahIUbcNHkEEms/wAdxi48I63bLv32rcsAxZkWdo8bsElepAwGLYICldw+VilCpG6SV1e/+LfW+6a03W13Y9iPvKaWrvC70VtZWvd6aX89V1PhCwX7DreoW5kKyCS3vYGVWQtFcM8DgfKML50AYE8hpXBwAwb6l+Fmq7LuaAyfJfQFcNhVRoXLEgHp90qV6kkH5zyPmu/094r3T55IjFeSpNaTqw2uVKyXCJIMkts8k4YE4YtlySufbfhQzC/s1b732iRlLDB2MrKys2TuAZyckHK9ST81elXip0ZPXZNW/wASs93tb8Xe9rkJOLlzWsn59HPdW1vu+uqV3e59SazDnSoLhlBEiKrbWkIkmUmLe4JwrYQ7Tnd8x3AMua5vShHbXmE2x+ZNHnK5Gc3IAwB0cjGSCRu+YEMa7SDZPo32KRid10CuGy2BKkm3rghuDnJAIC4ydxytV0O4sfOnWIrGrx+Wxzn7z4zwTkgs2AQc5LAEHPkwg53s9rdL33Xfy83vrdNuZSUGlve60v0aXb+td7Nn0bpZWfTNMumAMUSzyna25CHCgPhQQSFm3AYPGeDsOcPxxbwx21rcxPEYwZJEMZRwvltKoTemSC0nmkhuegYB8mm/D3U49Q0q0tHGGFmVK4ztf5sEg9D+6XaTwVznBGK3viHa2f8AZN80KRwuoEhMUaqxklDh5ZdrDdJiJt7v85AALEbFKUJSUpJaR3/DZeln6NbveJStOCT0vql1u2k/Pa9t9tW3r81eI9TK6dJaDH70xbugYKxbKbeSQylw3sTySeeUtpYrGwa5CbpZI98EeckvIS0IyQDydpY9EVVySVFY2qao2paq1mHKLAj+ZzysmGGc5wGWNS2GJVWYAbmGRJLfzSPDBaOqLEqRKFUMxllDKpBGcLCCAp4BbcGzhjUnXTXu+tn17z/SK/zesnrRXi2um6ncrIskVlHPLdESfvJWtLdnQKwIVhNPcMxJJ5aMZYq4Py38cNYGnfDLxXcTzqLlPDOpr5nUy3dzaTwOAqnCjduL87dzqmMZr6CvsCL7GqbVm2NIMAGaaWaZiQm1i29QspUEsqj7yqrk/HX7Ud8tr4B1u0XJk1S80vTIY5FCvGsl/bRNs3gk+YkUpkx8zBn+UgE125dF1MZQp33qw/Cbbf3Rv83q2mzixiUMPiJf9O5bLtzb6vyXk0tk9cH9iPRGku/HV+zSrHa6b4VtcgHYcR3V26GQgKhInSTgHjgAkFh/SV8KI28QfsjeJNPZxJD/AMIv4kgixuy2JNbhGzBHyR+Wq/3gUHVChP4HfskaUmk/DTxXf7PNk1rxpf20MkaANNY6Hp+n6eSSQuEWaOdIiuSHEwLBo2U/vT+y4s0/7OXiPR3djPZWevRPCzZk/wBIluLxsg52iRrqV1VsMEZSy5LE/c4Spz5lj7O96MoJ9PdUl16O731Wl7NnymIpcuXYJvRxq0pPX+abu7W62X33vdM/Mi9uQ+nG6Mwjt7a0F3OUwI4rdFbIchiSURDIUySSWO4cmuH+GdlNqGn694xvIAtz4p1RHsRI8pkj02Jmi0qI+ZyqiESXTBTtKEHaFDVzfjDWZ4fCth4UsWf+1PGOpLo8YTBkg0wXEzatcgDJURxDaC4JVXHQ5avc/DNhEYrCyto1FnpqCCNAP+ecbwmQ8DCxwggdBiYBSVJNfJYlezjUSbi3Jx6/z3e99euvTq3qfT4f3oxSStCMU2r76J9XZ6X6fFLZtsvhAbWNJDlWmjlQcZkSGRXgRwRtCmVYpZPl5iWYL8zAnq7hfsmiW1szN590itclhg72JdiSVUnIUKwPVt4zuOBmqsVxeyEyOINOTftITyyqZAwSOWZ1ZTg52IRjg5bKLnUZYUjcl7mWC2tvkLNH5zOXb5jgmOIM+eijeyqSGY+RGPNfyt+fr21/Dc75JaJ3trb5Nd393m1ro7uuLs6J4Xur6ND5mqTfZoFjAaaS0DbGjUOw2veTbIAUIKpPuUAxsTL4at40jmFxGsgtVa+vZB8wvNSld5JdwJG95LotHBGCwSNURCylmrnfFOtQXfiu30W2Rp

但是当我尝试使用 http://freeonlinetools24.com/base64-image 对其进行解码时什么都没有显示。

最佳答案

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteStream);
byte[] byteArray = byteStream.toByteArray();
String baseString = Base64.encodeToString(byteArray,Base64.DEFAULT);
这对我有用。

关于android - 将图像转换为 Base64 字符串 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38739244/

相关文章:

react-native - Base64 图像不显示 react native

java - 将对象的 ArrayList 从一个 Activity 移动到另一个 Activity 。还有适配器问题

javascript - 如何使用 JavaScript 将图像转换为 Base64 字符串?

javascript - 从base64得到的数组的值是多少

android - 如何使 ImageView 在单独的线程上按顺序闪烁?

java - 不同的 Base64 解码器

java - 使用 BASE64 编码器对包含原始字符的字符串进行编码

android - 如何增加 Android Emulator 的存储空间? (INSTALL_FAILED_INSUFFICIENT_STORAGE)

android - 在 Android 中添加输入约束来编辑文本?

android - 如果在 onCreate() 中设置,为什么 ViewTreeObserver > OnScrollChangedListener 在 Android 2.x 上不被调用?