- 浏览: 120503 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
瓶鱼跃:
Wuaner 写道瓶鱼跃 写道Wuaner 写道正好说反了。。 ...
Eclispe ibatis生成数据库表结构 -
Wuaner:
瓶鱼跃 写道Wuaner 写道正好说反了。。。楼主你真有才。a ...
Eclispe ibatis生成数据库表结构 -
瓶鱼跃:
Wuaner 写道正好说反了。。。楼主你真有才。abator是 ...
Eclispe ibatis生成数据库表结构 -
Wuaner:
正好说反了。。。楼主你真有才。abator是用来生成map x ...
Eclispe ibatis生成数据库表结构 -
z165153:
谢谢了,帮我解决问题了。
Java如何遍历Map的所有的元素(各种方法)
base64的实现过程:
由a-z,A-Z,0-9,/,+开头组成,三位一组,不足补“=”。
例如"men":
先转成US-ASCII值.
"m"十进制 109
"e"十进制 101
"n"十进制 110
二进制 :
m 01101101
e 01100101
n 01101110
三个8位连起来是24位
011011010110010101101110
然后分成4个6位
011011 010110 010101 101110
现在得到4个值,十进制为
27 22 21 46
对应的 Base64 字符是 :
b W V u
编码总是基于3个字符,从而产生4个Base64字符。
假如只剩1或2个字符,使用非凡字符"="补齐Base64的4字。
如,编码"me"
01101101 01100101
0110110101100101
011011 010110 0101
111111 (与,补足6位)
011011 010110 010100
b W U
b W U = ("=" 补足4字符)
于是 "bWU=" 就是"me"的Base64值.
由a-z,A-Z,0-9,/,+开头组成,三位一组,不足补“=”。
例如"men":
先转成US-ASCII值.
"m"十进制 109
"e"十进制 101
"n"十进制 110
二进制 :
m 01101101
e 01100101
n 01101110
三个8位连起来是24位
011011010110010101101110
然后分成4个6位
011011 010110 010101 101110
现在得到4个值,十进制为
27 22 21 46
对应的 Base64 字符是 :
b W V u
编码总是基于3个字符,从而产生4个Base64字符。
假如只剩1或2个字符,使用非凡字符"="补齐Base64的4字。
如,编码"me"
01101101 01100101
0110110101100101
011011 010110 0101
111111 (与,补足6位)
011011 010110 010100
b W U
b W U = ("=" 补足4字符)
于是 "bWU=" 就是"me"的Base64值.
package com.ibm.bgs.test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64 { /** * base64 to img * @param strBase64 * @param strPath * @return */ public static boolean getImgFromBase64(String strBase64,String strPath){ if(strBase64 == null)return false; BASE64Decoder based = new BASE64Decoder(); try { byte[] b = based.decodeBuffer(strBase64); for (int i = 0; i < b.length; i++) { if(b[i] < 0){ b[i]+=256; } } OutputStream out = new FileOutputStream(strPath); out.write(b); out.flush(); out.close(); return true; } catch (IOException e) { e.printStackTrace(); return false; } } /** * img to base64 * @param strPath * @return */ public static String getBase64Img(String strPath){ byte[] b =null; FileInputStream in =null; if(strPath == null) return null; try { in = new FileInputStream(strPath); b = new byte[in.available()]; in.read(b); in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } BASE64Encoder basee = new BASE64Encoder(); return basee.encode(b); } /** * * String to BASE64 * @param str * @return */ public static String getBASE64(String str){ String strBASE64Code = "" ; if(str == null) return null; BASE64Encoder base64 = new BASE64Encoder(); strBASE64Code = base64.encode(str.getBytes()); return strBASE64Code; } /** * BASE64 to String * @param strBASE64 * @return */ public static String getFromBASE64(String strBASE64){ String strString = "" ; if(strBASE64 == null)return null; BASE64Decoder based = new BASE64Decoder(); try { byte[] b = based.decodeBuffer(strBASE64); strString = new String(b); return strString; } catch (IOException e) { e.printStackTrace(); return null; } } /** * BASE64 to byte * @param strBASE64 * @return */ public static String getByteFromBASE64(String strBASE64){ String strString = "" ; if(strBASE64 == null)return null; BASE64Decoder based = new BASE64Decoder(); try { byte[] b = based.decodeBuffer(strBASE64); for (int i = 0; i < b.length; i++) { System.out.println(b[i]+":"+Integer.toBinaryString(b[i])); } return strString; } catch (IOException e) { e.printStackTrace(); return null; } } public static void main(String[] args) { /* String strTest = "罗金川"; String strBase = getBASE64(strTest); System.out.println(">>>>:"+strBase);*/ /* String strBase = "wt698LSox+HH4cfJx8nH4cfhx8nHycfhx+HHycfJx+HH4cfJx8k="; String strStr = getFromBASE64(strBase); System.out.println(">>>>:"+strStr);*/ String strBase = "wt698LSo"; String strStr = getByteFromBASE64(strBase); //System.out.println(">>>>:"+strStr); /* String strPath = "d:\\test.bmp"; String strStr = getBase64Img(strPath); System.out.println(strStr); */ /* String strBase64="Qk3uCwAAAAAAADYAAAAoAAAAYwAAAA8AAAABABAAAAAAALgLAAAAAAAAAAAAAAAAAAAAAAAA/3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9/AAD/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//38AAP9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//fwAA/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//fwAA/3//f/9//3//f/9//3//f/9/AAAK" + "PAo8CjwKPAo8/3//f/9//38KPAo8CjwKPP9//3//f/9//38KPAo8Cjz/f/9//3//fwo8CjwKPAo8" + "CjwKPP9/CjwKPAo8CjwKPP9//38KPAo8Cjz/f/9/CjwKPAo8/3//f/9//3//f/9//3//f/9//3//" + "fwo8CjwKPP9//3//fwo8CjwKPAo8Cjz/f/9//3//fwo8CjwKPAo8CjwKPP9//38KPAo8CjwKPP9/" + "/3//f/9/AAAAAP9//3//f/9//3//f/9//38AAP9/CjwKPP9//3//f/9//38KPAo8/3//f/9/Cjz/" + "f/9//38KPAo8/3//fwo8/3//fwo8Cjz/f/9/CjwKPP9//3//fwo8Cjz/f/9//3//f/9/CjwKPP9/" + "/38KPAo8/3//f/9//3//f/9//3//f/9//3//fwo8Cjz/f/9/Cjz/f/9//38KPAo8/3//f/9//3//" + "fwo8Cjz/f/9/CjwKPP9//38KPAo8/3//f/9/Cjz/f/9//3//fwAAAAD/f/9//3//f/9//3//fwAA" + "/38KPAo8/3//f/9//3//fwo8Cjz/f/9//3//f/9//3//fwo8Cjz/f/9//3//f/9/CjwKPP9//38K" + "PAo8/3//f/9/CjwKPP9//3//f/9//38KPAo8/3//fwo8Cjz/f/9//3//f/9//3//f/9//3//f/9/" + "CjwKPP9//3//f/9//3//fwo8Cjz/f/9//3//f/9/CjwKPP9//38KPAo8/3//fwo8Cjz/f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9/AAD/fwo8Cjz/f/9//3//f/9/CjwKPAo8CjwKPAo8" + "/3//f/9/CjwKPP9//3//f/9//38KPAo8/3//fwo8Cjz/f/9//38KPAo8/3//f/9//3//fwo8Cjz/" + "f/9/CjwKPP9//3//f/9//3//f/9//3//f/9//38KPAo8/3//f/9//3//f/9/CjwKPP9//3//f/9/" + "/38KPAo8/3//fwo8Cjz/f/9/CjwKPAo8CjwKPAo8/3//f/9//3//f/9//3//f/9//3//f/9//38A" + "AP9/CjwKPAo8/38KPP9//38KPAo8/3//fwo8Cjz/f/9//38KPAo8/3//f/9//3//fwo8Cjz/f/9/" + "CjwKPP9//3//fwo8CjwKPP9/Cjz/f/9/CjwKPP9//38KPAo8/3//f/9//3//f/9//3//f/9//3//" + "fwo8Cjz/f/9//3//f/9//38KPAo8Cjz/fwo8/3//fwo8Cjz/f/9/CjwKPP9//38KPAo8/3//fwo8" + "Cjz/f/9//3//fwAAAAD/f/9//3//f/9//3//fwAACjwKPAo8/38KPAo8/3//f/9/CjwKPAo8Cjz/" + "f/9//38KPAo8CjwKPAo8/3//fwo8CjwKPP9/CjwKPAo8/3//fwo8CjwKPP9/CjwKPP9/CjwKPAo8" + "CjwKPAo8/3//f/9//3//f/9//3//f/9//3//fwo8CjwKPAo8Cjz/f/9//38KPAo8Cjz/fwo8Cjz/" + "fwo8CjwKPP9/CjwKPAo8/3//f/9/CjwKPAo8Cjz/f/9//3//f/9/AAAAAP9//3//f/9//3//f/9/" + "AAD/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/CjwKPP9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/38KPAo8/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//38AAP9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//38KPAo8/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//fwo8Cjz/f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "fwAA/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/AAD/f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/38AAP9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/" + "/3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//" + "f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//fwAA"; String strPath = "d:\\test1.bmp"; getImgFromBase64(strBase64,strPath);*/ } }
发表评论
-
java 获取路径的方法
2009-01-06 16:37 4003一、关于绝对路径和相 ... -
使用PDFBox处理PDF文档
2008-12-19 13:58 2435最常见的一种PDF文本抽取工具就是PDFBox了,访问网址ht ... -
彻底明白Java的多线程及线程的同步过程
2008-12-17 15:16 1083一. 实现多线程 1. 虚假的多线程 例1: ... -
Rational Rose
2008-12-17 15:07 1984安装文件:http://www.21php.com/Ratio ... -
Myeclipse 7 插件安装
2008-12-17 13:18 3359Myeclipse 7 的插件安装方式与原先的方式完全不一样了 ... -
彻底明白Java的IO系统(文摘)---JAVA之精髓IO流
2008-12-17 13:12 920一. Input和Output 1. stream ... -
Java 泛型的理解与等价实现
2008-12-17 13:09 795泛型是JAVA SE 1.5的新特性,泛型的本质是参数化类型, ... -
JavaTiger(Java5.0) 新特性------类型安全
2008-12-17 13:07 1013(本文例子适用于 ... -
避免在Java中使用Checked Exception
2008-12-17 10:36 936这篇文章指出了Java中che ... -
JAVA的容器---List,Map,Set
2008-12-17 10:33 952JAVA的容器---List,Map,Set C ... -
两种Java容器类List和Set分析
2008-12-17 10:18 782容器类可以大大提高编程效率和编程能力,在Java2中,所有的容 ... -
实现JAVA序列化
2008-12-17 10:03 827简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将 ... -
JAVAMAIL
2008-12-15 17:11 1047因为项目需要要发送邮件:所以写了一个javamail的demo ... -
List求和
2008-12-10 16:51 1794package com.bean; import j ... -
CVS搭建
2008-12-08 19:56 1793最近想在家里自己做个 ... -
通过JAVA集合求和
2008-12-04 23:44 7980需求: 从数据库取出表的List对象,通过判断List< ... -
根据pda传入矢量图的base64,还原成适量图
2008-11-22 13:48 1466根据pda传入矢量图的base64,还原成适量图 p ... -
iText入门简介
2008-11-20 20:01 1277一、前言 在企业的信息系统中,报表处理一直占比较重要的 ... -
用itest生成word例子
2008-11-20 19:59 1384package com.sample; impor ... -
Java如何遍历Map的所有的元素(各种方法)
2008-11-18 23:04 2836JDK1.4中 Map map = new HashMap( ...
相关推荐
在Java中,实现Base64编解码主要依赖于`java.util.Base64`类,这个类从Java 8开始被引入,提供了丰富的编码和解码功能。以下是一份简单的Base64编码和解码的Java代码示例: ```java import java.util.Base64; ...
本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
标题中的"pb9_base64_pb调用base64.dll_PB9base64_Base64.dll_glass8y6_pbbase64"涉及到的是PowerBuilder 9(简称PB9)中关于Base64编码的实现。Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据...
在LabVIEW中,可以使用字符串函数来实现Base64编码。首先,你需要将图像数据转换为字节串,然后使用Base64编码函数将字节串转换为可读的字符串。这样,图片数据就可以以文本形式在网络上传输,或保存在文本文件中。 ...
6. **图片转Base64**:相反的过程,将本地图片文件读取并转换成Base64字符串,便于在网页或应用程序中内嵌图片,特别是在不需要服务器存储或传输原始图片文件的情况下。 7. **支持大于1M内容**:许多在线工具可能对...
Base64是一种网络上常见的数据编码方式,它将任意二进制数据...通过阅读和理解`base64.cpp`和`base64.h`文件,可以深入学习Base64编码解码的具体实现,这对于理解网络通信、数据加密以及文件编码等领域都非常有帮助。
### Base64编码过程 1. **分组处理**:首先,Base64编码将输入的二进制数据按照每3个字节(24位)进行分组。如果输入数据不是3的倍数,会在末尾补足0字节,使得最后的字节数能够被3整除。 2. **6位转换**:接下来...
提供的文件列表中,`Base64_Convert.exe`很可能是一个执行程序,用于实现这个功能,即读取包含Base64编码的文本文件(如`Base64转二进制文件.b64`),并将其转换为二进制文件。`Base64转二进制文件.docx`和`Base64转...
在VB6.0版本中,我们可以实现Base64与图片格式(如JPG)之间的转换。这个“VB JPG转base64和base64转JPG.rar”压缩包文件包含的可能是两个VB程序,分别用于将JPG图片编码为Base64字符串和将Base64字符串解码回JPG...
如果你使用的是Apache Commons Codec库,引入依赖后,Base64编码可以这样实现: ```java import org.apache.commons.codec.binary.Base64; public class Base64Example { public static void main(String[] args)...
1. 图片转换为Base64编码:在Python中,可以通过内置的base64库轻松实现这个过程。首先,需要导入base64模块,然后使用open函数以二进制读取模式打开目标图片文件,之后使用base64.b64encode方法对图片内容进行编码...
在这个主题中,我们将深入探讨如何实现一个Base64编码工具类以及与之相关的Java JAR文件。 首先,Base64编码的基本原理是将每3个字节(24位)的数据转化为4个6位的ASCII字符。由于24不能被6整除,所以对于不足的...
Base64Encoder和Base64Decoder是处理这种编码和解码过程的工具。本文将深入探讨这两个概念,以及它们在Java等编程语言中的实现。 Base64的基本原理是将每3个字节(24位)的数据拆分为4个6位的块,并将每个6位块转换...
在这个过程中,文件`2.txt`可能包含了示例的BASE64编码字符串,而`BASE64解码.xls`可能是包含VBA宏的Excel工作簿,用于演示或执行这些解码和显示图片的步骤。在实际项目中,你可能需要根据具体需求调整和扩展这些...
在Android中,我们可以使用`Base64`类来实现图片的编码: ```java public void encodeImage(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap....
下面我们将详细探讨C#中如何实现文件到Base64的转换,以及这个过程涉及的相关知识点。 首先,我们需要理解Base64编码的基本原理。Base64编码将每3个字节的二进制数据转换为4个字符的ASCII字符串,每个字符对应一个...
在提供的压缩包文件中,"base64.c"或"base64.h"这样的文件很可能包含了实现Base64编码和解码功能的源代码。这些代码可能包含了一些关键函数,例如`base64_encode`和`base64_decode`,它们分别负责编码和解码的过程。...
BASE64编码和解码在Java中通过`BASE64Encoder`和`BASE64Decoder`(或`android.util.Base64`)实现,它们在数据传输和存储中起着至关重要的作用,尤其是当需要在不支持二进制数据的环境中处理二进制数据时。...
在这个"Base64 C 实现源码"中,我们有两个关键文件:CBase64.h和CBase64.cpp。这两个文件一起构成了一个C语言实现的Base64编码和解码库。CBase64.h包含了函数声明,而CBase64.cpp则实现了这些函数的代码。 首先,`...
在本项目"VC++6.0使用base64编解码转图片"中,我们将探讨如何在Visual C++ 6.0环境下实现Base64编码和解码,并将其应用于图片处理。 首先,Base64编码的基本原理是将每3个8位字节(24位)的数据转换为4个6位字节...