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


     今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输。

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

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

    1、Base64  的作用

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

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

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

    •    今天要使用Base64Encoder,却发现在Eclipse中无法找到该类,google了哈,原来Base64Encoder并不属于JDK标准库范畴,但是又包含在了JDK中。
    •    解决方法:按照如下方法设置Eclipse导入%JAVA_HOME%jrelib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,
    •    Add External Jars添加%JAVA_HOME%jrelib t.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线程同步synchronized的理解
    MySQL基础操作(二)
    MySQL基础操作(一)
    MySQL备份--xtrabackup与mysqldump工具使用
    MySQL主从复制以及在本地环境搭建
    生活在长大——第一次冲刺小任务
    现代软件工程之敏捷开发
    入门github
    我的编程人生
    Java线程
  • 原文地址:https://www.cnblogs.com/zhaoyanjun/p/4493720.html
Copyright © 2020-2023  润新知