开发者社区> 问答> 正文

BASE64编码 android 与 C# 结果不一致

JAVA代码:

    ByteArrayOutputStream v0 = new ByteArrayOutputStream();
        arg3.compress(Bitmap$CompressFormat.PNG, 100, ((OutputStream)v0));
        return Base64.encodeToString(v0.toByteArray(), 0);

C#代码:

 using (var ms = new MemoryStream())
            {
                bitmap.Save(ms, ImageFormat.Png);
                byte[] imageBytes = ms.ToArray();
                var str = Convert.ToBase64String(imageBytes, Base64FormattingOptions.InsertLineBreaks);
                return str;
            }

对同一张png图片进行编码后。得到的结果不一致。
开头和结尾是一样的。中间部分不一样。结果的长度也不一样。相差甚远。

展开
收起
爵霸 2016-05-27 09:27:49 3243 0
1 条回答
写回答
取消 提交回答
  • /**
     * BASE标准解码
     * 
     * @author lz
     * @param buff
     * @return
     */
     public static String decodeBase64(String str) {
     return str == null ? null : StringUtils.newStringUtf8(base64.decode(str));
     }
    /**
     * BASE64 编码
     * 
     * @param s
     * @return
     */
    public static String encodeBufferBase64(byte[] buff) {
        return buff == null ? null : encoder.encodeBuffer(buff).trim();
    }
    2019-07-17 19:17:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载