位图图像到base64转换

时间:2017-04-25 10:41:29

标签: android image-processing bitmap base64 jave

我正在尝试将bitcode图像转换为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.URL_SAFE);
}

生成的响应低于它不再给我图像。

有人可以提供一些指示吗?我可能做错了什么?

  

/ 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB                                                                     AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH / 2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB                                                                     AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH / wAARCAMgAlgDASIA                                                                     AhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEAwUFBAQA                                                                     AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3                                                                     ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm                                                                     p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4 + Tl5ufo6erx8vP09fb3 + PN6 / 8QAHwEA                                                                     AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL / 8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx                                                                     BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK                                                                     U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3                                                                     uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3 + PN6 / 9oADAMBAAIRAxEAPwD + PXxv                                                                     B / u7W6 / 58cf + zd85H8OMDH615jP99q + HB + 2tP7MvfwHfsJBnqeK8Gv8A7ILts2meD269ffj1 / LNR                                                                     XZ + d + Bf9w / 8A3IfJ / wDyswp7fr / N + 979en5gZO3J9Y + E / wBk861 + 0 / 7OPrluvv198deK88 / 0B / OK                                                                     uaL9qt83Vsc8Dt3y / v8A7vvnHUAiugzP1P8Ag9418L + HS / 6V2XuP9vHRu + OO / JyDk11nxf8Aj7pm                                                                     s27Wmmap068g926 / Mcdz + J5BGa / FvxP4w8VW2rXv2XVPsf23rzz / ABDC / n3PJySTXPTeMPFXJudV                                                                     9Bj15b3 / AMeM9CTXr691 / WCAV / 5I0 + O / 3f8Ayb / 7c9Y + K2oXXjHXG / 0o3lqMegzy455PYe / JPck1                                                                     7X8F / hfaYa6 + 1enPJ7t7 / T15I5IXB + R9O8UXXn2o / d / x4D19ev4dRk13 + R / FDVLfSDa2v22z6fzc                                                                     K / EOF / rj3JX2l8z28v8A4fz / APbsQe1 / HD4o6t4qnPwq0O7xpVnnIsOe7Ed + 4549RuIwCes + DAS /                                                                     A + 60trb / AEpdv9pcc8k4789P1wcnGfEvg7BpVsb3XdTuueOST2yegOBjGOTn1JJGfrjwd / wimsi0                                                                     vLq7sucYX5ucEjOeozjcPoODt58DF / DJX6ytZN30mtrdVf06vqdOM / 26706JNWdleadnr2evRWTd                                                                     3Jv7y + H3jC18Q6SxFvwB1x05YHg8ncfx6gjgEdbf + ILPTwQVwFx3J7vjgHI9cdsjJIOa80 + H + V8A                                                                     ha2gtGtr3H1GRnpzz6g / r1xk + mX3h7SfEW4G6svsgxwew3P3yCQRyMngkDPBJrA8TPVXeiT1eu8 +                                                                     sWlpfq5a9btHzeL4X05brv7y2d5Wdr7u92r2V46ttN8OP2gD4cJFpafbOcZz1Pz44ycY / XJ / unPP                                                                     6 / 8AFDU / iDBqGbX7H93PX1cDgH0HboccgjJ6Gb4L6XcS2v2RsAcZ29cs / QEE8bRke6n + 7WB4vntP                                                                     BUFD / HJ / AEzxBd4yef8AiVcyHPJ746Z4H4bvGzrO9212SSvquaTi7OXbZdPefNfQ8bGY36hzK7au                                                                     rbeuztu07JNJbtNpt + cp4X8LeHTe / wBtH7bdDHoO7eufUn8Twc5pdOudVucjSrX + xrQYGbDkdW9e                                                                     eCPUnJBIyBWp4G + A3j3xjM13baXe3hPTg8YYg / XPX8VGTxn9B / HP + xN4sAYa50Uj04yTj8CVPvnu                                                                     D1 / E864oy3Ac39pX7NO196i2TW / Nf4rXbV7qz + GxmMzHH36Wsr9U7yva + 97qz1t3vLX4Z0XwrdXG                                                                     / wC122MYJwCeucHr7dOvI5Oa9k8L / BfVvEc32W1s + nfI5 + ZvUDoF469yTnGf1X8HfsjeDLbKan3x                                                                     zwOhc8Lj8OvTPIIJPjXxt + KPgv4W2974d + FmlWXiTxV / Z / 8AbSsF8 / xd8D0IxjJyTXFgOJ8ux6f9                                                                     m67Xemzv1lKzbdlrdq6V72v48cErP + 0bLSyUvVuy95vXRu72srayPE5tK8AfATQjda7aWWseIL3H                                                                     9m6Dk9t3tz347bjnJC5 + B / F3jjx58Q9UP9p3f2OzHTTrAN / xKfmbvuySSc + 3TnOarW2na74p1069                                                                     4lu73Wbo / cxkY5bPOT1PXPI9ycH3fwt4GBa2zZ56cZxjr2x7Z6dxycGnjMaoqSV0 + r1SspJdW3vf                                                                     S972WjSPGxmdL4bOya9N52Xu31sk303vrEzPh94dG20W6PpzjHGXPrnH491 / ujP0x4f8Pldxzhjj                                                                     jGe7A / NnqcA / mM5BNL4O8E / KWtrT0H / jz47fiB7kYOK948L + d + ourTcR15292xx37j2wM84z4ywX                                                                     168d7a30tvN6pprfv1a1b35jkNO8EJz8uTx / Fx1k / WA + p6Emu407QFt85Xpj + I + P / wAOR7jkg4r2                                                                     TRvC8dvn / RTxjs3TLDPP + 7 + HfJNdYPB9hcZ / 0TP / vf7Q6cnjjOD3PJ5NL / VJ + 7L + vket8pf + Bf8A                                                                     2584XPg7bu + yDAGTn1ycdCT9AR / 9euT1jwwFZjjkY5yf + mnOCP0x6Anqa + 0dM8EFdwJxjHG088nG                                                                     SOONpPXjp15OVe + CLScFTaew69CzHtnp / Mjrkmni + CrJ8rutb21b1l9l7bK + / ZyaUm0r / wCLZbvV                                                                     E / Ztu9 / TVLXs7 / Ctx4VM4JOMdj + LD1J7 / Xkk5ODXFX / hltpzyD + B + UT / U / 8A1sGvvLV / huo3qbXG                                                                     duOCeMnnpk9D + L + gryjVfA93g7bXg + 3QZk55OSSecnpkHOASfj8bwVmOA5nd6W10d3eVrbJvV295                                                                     vTvcNLeWmvld66Ws79PTd3R8F + MPhfpWsF / 9EyPlBHI / vY5HI5bOPYg5yCef8EfD8Wur2lta47 + V                                                                     PJHc + X / M5JJr7oHwn1XW2O21xjA3cdw3OD9ORz + nzUp9O8K / DVX / ALRb7bdfLnT8EZwzAY7ds8HI                                                                     3AHJJrtwPE + ZZBzLMmrO1tHZ3cvi1VnKyd73VopLW79jA43M8Am7N6a6tdWtLu6dl2cnpq07v0 / w的                                                                     Z9p8O6Va2drZ4zjPzZ6bsdT / AL3fPTg4Nfo5 + yfnybQXQ3HIzyBnk474B24 + o25yQcfjRqHxX8Va                                                                     HJ + zzZaPac / hguOw75HHpnkYyf1K / YN1c3OkM2o6v9svOOMDP3mHc4BA6fVh1Bz + Q + Hvi5lvFuZS                                                                     y3LV0vZ / zXlZtPdNq2stNNdY39nG8TfE35RT6byT0T / mUbpt2dnum3 + GPI7 + yrayv7rUrWy + yWWn                                                                     Lj1x82f5A / TcAMjn + CV / AIKCfGfVfjn + 0X4jutNu / SLP / wAJnx / 31IDxk5zgfXjuDn + XJ / gpL8cL                                                                     T4A / BHW7XTNV + x6r40xpunen / LT1PPQdSev + 1Z / FL4D8D3XiHxF4j8Z3Nr9stP8AkG + HPT + f7z9 /                                                                     8cckcjlj + rLeXpD / ANKqH0vDG0vWH / pVQ1NO0PG7n7ZpNkf7voX4 + 8T1 / PoMnOPWPC3hs + Hrc3P2                                                                     Y2l3rWO3Xlz3PThf0zySTseHvAzAWlra2 / 237Fj + 0eB2L9 + fx9cgZOa7dZ2tg1rodve6xqv + 6OmW                                                                     9 + PuqT65HJ2jPxv1yXn90f8AI90xra30fw8tp9qP + i8HPP8AxNPmkB4z / u8dsn3J9Z8L / A / x9rdv                                                                     b6oNKFppQ249vmOTzjrxn8OpGB9z / SA / 8E7vFHjGa0

2 个答案:

答案 0 :(得分:1)

尝试此功能:

NullReferenceException

答案 1 :(得分:0)

这里有一些误解。在您的方法中,您将通过参数接收位图(图像)。如果你想将它传递给base64格式,你就是这样做的,因为base64格式只是一个大字符串,正如你在回程中看到的那样。

如果错误出现在您的方法和反向过程中(将String中的Base64解析为Bitmap),您可以尝试此功能:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();

base64编码byte array使用以下方法:

String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);

另外,尝试使用此方法来反转编码过程:

byte[] decodedString = android.util.Base64.decode(yourString, android.util.Base64.DEFAULT);
                            Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);