java和c语言base64编码区别,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%\jre\lib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,

Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!

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

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;

}

}

}

android Java BASE64编码和解码二:图片的编码和解码

1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

Kotlin/Java Base64编码和解码(图片、文件)

原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...

java base64编码、解码的三种方式

java base64编码.解码 CreationTime--2018年7月24日10点38分 Author:Marydon 1.方式一:DatatypeConverter 说明:使用jdk自带的 ...

【java】java base64编码与解码

参考地址:http://blog.youkuaiyun.com/zhou_kapenter/article/details/62890262 要求:JDK1.8+ 使用java原生工具类即可实现 [这里展示字符串 ...

Base64编码与解码原理

Base64编码是使用64个可打印ASCII字符(A-Z.a-z.0-9.+./)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途. base64索引表 base64编码与解码的基 ...

Java 8中的Base64编码和解码

转自:https://juejin.im/post/5c99b2976fb9a070e76376cc Java 8会因为将lambdas,流,新的日期/时间模型和Nashorn JavaScript引 ...

在Java中如何进行BASE64编码和解码

在Java中如何进行BASE64编码和解码 //在Java中如何进行BASE64编码和解码 package me.xzh.study.sun.misc.BASE64; import sun.misc. ...

java base64编码 加密和解密(切记注意乱码问题)

BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和 ...

BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像

BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...

随机推荐

在C#中实现Json的序列化与反序列化

第一种方式利用 JavaScriptSerializer [对应的Assembly 为 System.Web.Extensions.dll] 进行处理: public static class Kas ...

mkstemp生成临时文件

使用该函数可以指定目录生成临时文件,函数原型为 int mkstemp(char *template); 应用举例 int main(int argc, char *argv[]) { /* char ...

elasticsearch,python包pyes进行的处理

elasticsearch:高性能搜索引擎,官网:https://www.elastic.co/products/elasticsearch/ 对于它相信大家都不陌生,es的使用已经广泛存在 各大网站 ...

Drag & Drop and File Reader

参考 : http://www.html5rocks.com/zh/tutorials/file/dndfiles/ http://blog.youkuaiyun.com/rnzuozuo/article/det ...

Oracle 11g+FluentNHibernate AutoMapping组合尝试

一次Oracle 11g+FluentNHibernate AutoMapping组合尝试 本文的上下文环境 操作系统:Win7 x64 Ultimate开发工具:Visual Studio 2013 ...

PHP 订单延时处理:延迟队列(未鉴定)

PHP 订单延时处理:延迟队列: https://github.com/chenlinzhong/php-delayqueue

使用AOF持久化文件实现还原Redis数据库并得到RDB持久化文件

目录 1 编写本文的初衷 2 具体实施 2.1 Redis持久化概念简介 2.2 获取指定Redis的AOF持久化文件 2.3 把Redis的持久化AOF文件转换为RDB文件 1 编写本文的初衷 因为 ...

java修饰符用法

public:本类可使用,子类可使用,同一包内的类可使用,不同包内的类可使用 protected:本类可使用,子类可使用(不同包内的子类也可使用),同一包内的类可使用 default(当不写修饰符时) ...

【LOJ】#2077. 「JSOI2016」飞机调度

题解 考虑一架飞机飞完自己之后还能飞到哪些航线,用floyd求两点最短路 这个图建出来是个DAG,求最小路径覆盖即可,二分图匹配 注意判断时是航班的起飞时刻+直飞时间+加油时间+最短路时间 代码 #i ...

PHP中__autoload()与spl_autoload_register()函数的用法与区别

_autoload() 函数在PHP文档中的解释是试图使用尚未被定义的类时自动调用.通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类. 如何理解这句话,我们首先看下面一个简单 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值