Java中使用Base64编码

原创 2013年12月04日 18:03:27

通过 JSON 字符串发送的图像。将该字符串(Base64编码)转换成android 应用程序中的图像,然后显示该图像


从android端用io流读取到要上传的图片,用Base64编码成字节流的字符串

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。最常见的用途是作为电子邮件或WebService附件的传输编码.


Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。可用来作为电子邮件或WebService附件的传输编码.

base64有一个作用就是,可以将所有非ASCII字符的数据转换成ASCII字符,这样应该更具有可移植性,因为有些系统只认ASCII。。。

而且base64不是加密算法,只不过是一个编码算法,使数据更适合传输,基本没什么安全性,只能达到肉眼不能读出原文的程度。而且进行编码之后,会比原文长三分之一。


有时候我们需要使用一个URL作为URL地址的参数来传递,假如我们需要传递的URL含有参数,例如:

/shopping/confirm.action?id=1&name=itzhai

那么按照如下的方法传送,那么,参数会丢失:

www.itzhai.com/submit.action?url=/shopping/confirm.action?id=1&name=itzhai;

为了能正常的传递参数,我们可以使用Base64对URL进行编码后再传递,接收到时再进行解码,这样就可以正确获取到传递的URL了。下面是基本的代码:

引入Jar包

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;

为URL编码:

String url = "/shopping/confirm.action?id=1&name=itzhai";
String code = new String(Base64.encode(url.getBytes()));

这样获得的code为:

L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=

然后接受到该code时,就可以为URL解码了:

String url = new String(Base64.decode("L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk="));

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

方式一: 方式二: fangshi
  • hw1287789687
  • hw1287789687
  • 2014年04月26日 10:46
  • 11426

Base64编码原理解析与Java实现

目前还在找工作,工作日时投投简历面面试,这周末难免就闲来无事了,那就只好看看慕课逛逛CSDN了,正巧看到一个关于Base64的课程《Java实现Base64加密》,点进去看看,完了发觉完全不是我想的那...
  • zdqdj1
  • zdqdj1
  • 2016年06月26日 00:39
  • 2455

Java如何进行Base64的编码(Encode)与解码(Decode)?

Java进行Base64的编码(Encode)与解码(Decode)的几种方式与区别..
  • zhou_kapenter
  • zhou_kapenter
  • 2017年03月17日 16:37
  • 16945

java中BASE64与urlUncode的编码与解码

下面是urlUncode的解码: 先模拟一段从客户端接收到的URL码 //读取文件并转为字节码 FileInputStream fs = new FileInputStream(new Fi...
  • BabyNiu411
  • BabyNiu411
  • 2013年08月15日 15:14
  • 1710

JAVA将图片转为BASE64编码及反转方法

在项目中,需要将BASE64编码的图片转换为图片文件显示在WEB项目中,经GOOGLE一番搜索,自己写了个互换的工具类package com.base.util; import java.io.Fil...
  • weiwei5910
  • weiwei5910
  • 2013年05月20日 19:15
  • 4361

Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)

中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方...
  • z798083517
  • z798083517
  • 2017年07月07日 11:29
  • 1542

Java 和 JavaScript 之间真正通用的Base64编码

转载自:http://blog.csdn.net/coolmasoft/article/details/2913634   在开发Java  Web应用的时候,可能会在服务器端用Java做Base...
  • xiaoniaofeifei35
  • xiaoniaofeifei35
  • 2017年04月15日 22:07
  • 922

C#和JAVA利用BASE64实现图片编码解码

主要针对服务器端和客户端利用BASE64对图片和字符串进行编码解码操作。 客户端是Android,服务器端是webservice,编码解码方式如下: 一、Android 实现图片上传 1.j...
  • sinat_27693393
  • sinat_27693393
  • 2016年07月22日 20:32
  • 1282

Java--使用Base64编码对url传值

有些时候我们可能需要把信息通过url传递,但是url中出现特殊字符如空格,#,&等符号会使原有的信息失真,还有当传递密码等重要信息的时候可能就需要更复杂的加密解密算法。     这里使用的apach...
  • lzz957748332
  • lzz957748332
  • 2014年07月31日 00:28
  • 3256

java利用Base64编码和解码图片文件

1、java利用BASE64编码和解码图片文件 2、如何在页面上直接显示base64编码的图片?...
  • zxnlmj
  • zxnlmj
  • 2014年07月02日 16:56
  • 12471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中使用Base64编码
举报原因:
原因补充:

(最多只允许输入30个字)