开发者社区> 赵彦军521> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

android Java BASE64编码和解码一:基础

简介:  今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输。  类似这样的: {"name":"jike","age":"20","pic":"图片流"} ,  把图片转化为图片流要用到 Base64 的技术。
+关注继续查看
 今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输。

 类似这样的: {"name":"jike","age":"20","pic":"图片流"} ,

 把图片转化为图片流要用到 Base64 的技术。

 

1、Base64  的作用

    主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。
    由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以了。

 

2、如何获得BASE64 代码,有两种方式

   方式一:解决eclipse中无法直接使用Base64Encoder的问题

  •    今天要使用Base64Encoder,却发现在Eclipse中无法找到该类,google了哈,原来Base64Encoder并不属于JDK标准库范畴,但是又包含在了JDK中。
  •    解决方法:按照如下方法设置Eclipse导入%JAVA_HOME%\jre\lib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,
  •    Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!

     

    方式二: 下载源代码,然后把代码导入自己的项目中

        csdn下载地址: http://download.csdn.net/detail/yanzi2015/8685199

 

3、Base64对字符串进行编码和解码

   

package com.android20;

import sun.misc.BASE64Decoder;

public class Bian {

    //将 s 进行 BASE64 编码 
    public static String getBASE64(String s) { 
        if (s == null) return null; 
        return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); 
    } 

    //将 BASE64 编码的字符串 s 进行解码 
    public static String getFromBASE64(String s) { 
        if (s == null) return null; 
        BASE64Decoder decoder = new BASE64Decoder(); 
        try { 
            byte[] b = decoder.decodeBuffer(s); 
            return new String(b); 
        } catch (Exception e) { 
            return null; 
        } 
    }
}

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 效率编码 必备插件 Lombok 让代码更优雅
Java 效率编码 必备插件 Lombok 让代码更优雅
0 0
论一个Java服务端工程师的自我修养(一)编码篇
论一个Java服务端工程师的自我修养(一)编码篇
0 0
编码20年, Java代码规范全部奉上
写代码就像写文章, 好的代码就像好的文章,结构严谨,构思清晰。写代码就像写文章, 一不留神就成流水账,为避免这种情况作为软件开发工程师,重要的是设计而不是实现。 **在一个团队中,由于不同经验的开发导致编程风格可能会出现非常混乱的情况,从而导致开发成本上升。难以维护。所以代码规范就显得异常重要了。** 本篇文章就是给出编程命名的建议,仅供参考,但是其目的是为了统一规范,提高编程能力,降低开发成本,减少代码维护成本。 契约精神: 做到有法可依,有章可循
0 0
Java流处理之转换编码的转换流
Java流处理之转换编码的转换流
0 0
面试官:java中的编码转化方式都有哪些?(中兴面试真题)
昨天晚上在微信上有人跟我说,他去中兴面试,面试官问了一个很变态的问题,问Java中的编码格式转换都有哪几种方式?由于之前就知道String中的转换方式,还有一些工具类,因此今天就好好的整理一下java中jdk提供的几种转换方式,希望在今年的面试中对你有帮助。
0 0
【问题一】notepad++编辑器写Java代码,无法编译出现错误:编码GBK的不可映射字符
今天在学习“流程控制”一节,用notepad++写代码时,一直报错,无法编译。看了好多遍代码,代码完全正确,非常纳闷。
0 0
java基础-ascii编码
java基础-ascii编码
0 0
编译JAVA的错误: 编码ascii的不可映射字符
编译JAVA的错误: 编码ascii的不可映射字符
0 0
java安全编码指南之:文件和共享目录的安全性
java安全编码指南之:文件和共享目录的安全性
0 0
+关注
赵彦军521
Android开发者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android应用启动速度和内存优化实践
立即下载
Java基础入门(一)
立即下载
JAVA反射原理以及一些常见的应用
立即下载