`

java base64编码和解码案例

    博客分类:
  • Java
 
阅读更多
可以考虑使用javax.mail.internet.MimeUtility或者apache的org.apache.commons.codec.binary.Base64




使用commons-codec.jar
/**
     * @param bytes
     * @return
     */
    public static byte[] decode(final byte[] bytes) {
        return Base64.decodeBase64(bytes);
    }

    /**
     * 二进制数据编码为BASE64字符串
     *
     * @param bytes
     * @return
     * @throws Exception
     */
    public static String encode(final byte[] bytes) {
        return new String(Base64.encodeBase64(bytes));
    }





下面会提示:BASE64Encoder是内部专用 API, 可能会在未来发行版中删除
http://www.iteye.com/topic/605714
字符串编码解码
import java.io.IOException;

public class Test {
	
	/**
	 * 编码
	 * @param bstr
	 * @return String
	 */
	public static String encode(byte[] bstr){
	return new sun.misc.BASE64Encoder().encode(bstr);
	}

	/**
	 * 解码
	 * @param str
	 * @return string
	 */
	public static byte[] decode(String str){
	byte[] bt = null;
	try {
		sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
		bt = decoder.decodeBuffer( str );
	} catch (IOException e) {
		e.printStackTrace();
	}

		return bt;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		test te = new test();
		String aa = "更多更多";
		aa = te.encode(aa.getBytes());
		System.out.println("----aa:"+aa);
		String str = aa;
		String str2 = new String(te.decode(str));
		System.out.println("-----str2:"+str2);
	}
}



图片编码解码
package palmcity.cpndservice.tool;

import java.io.FileInputStream;
import java.io.RandomAccessFile;

public class ImageTool {
	/**
	 * 图片BASE64 编码
	 */
	public static String getPicBASE64(String picPath) {
		String content = null;
		try {
			FileInputStream fis = new FileInputStream(picPath);
			byte[] bytes = new byte[fis.available()];
			fis.read(bytes);
			content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法
			fis.close();
//			System.out.println(content.length());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return content;
	}

	/**
	 * 对图片BASE64 解码
	 * 
	 */
	public static void getPicFormatBASE64(String str, String picPath) {
		try {
			byte[] result = new sun.misc.BASE64Decoder().decodeBuffer(str
					.trim());
			RandomAccessFile inOut = new RandomAccessFile(picPath, "rw"); // r,rw,rws,rwd
			// 用FileOutputStream亦可
			inOut.write(result);
			inOut.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    Java Base64解码错误及解决方法

    下面我们将详细分析Java Base64解码错误的原因和解决方法。 一、 Java Base64解码错误的原因 Java Base64解码错误的原因可以归结为以下几点: 1. 输入参数不正确:Base64解码的输入参数可能为空或格式不正确,...

    base64解码实例

    常见的编程语言如Python、Java、JavaScript、C#等都有内置的Base64编码和解码函数,可以方便地对数据进行Base64操作。例如在Python中,可以使用`base64`模块的`b64decode()`方法进行解码: ```python import base64...

    linux下的base64编码转换工具及源码

    Linux系统内置了一个名为`base64`的命令行工具,用于进行Base64编码和解码操作。该工具非常实用,可以处理文件或直接读取标准输入。例如,你可以通过以下命令对一个文件进行Base64编码: ```bash base64 input_file...

    cropper图片裁剪案例java-base64上传

    总结来说,`Cropper图片裁剪案例java-base64上传`涉及了前端与后端的协同工作,包括前端的图片裁剪、Base64编码,以及后端的Base64解码、图片裁剪和保存。开发者需要根据实际需求和项目规模来选择合适的方法,同时...

    sun.misc.BASE64Decoder.jar.zip

    将图片转换为Base64字符串的过程通常涉及读取图片文件的字节流,然后使用Base64编码器(在这个案例中是`BASE64Decoder`的对应编码器`sun.misc.BASE64Encoder`,虽然现在更推荐使用Java 8引入的`java.util.Base64`类...

    Base64图片与字符进行相互转换

    - 有许多开源库提供了Base64编码和解码功能,例如在Java中有`java.util.Base64`,Python中有`base64`模块,JavaScript中也有全局的`btoa`和`atob`函数。 - 在线工具也能完成Base64转换,比如`...

    eclipse中解除jdk的访问限制(以BASE64Encoder/BASE64Decoder为例)

    这两个类是Java的标准库中的工具类,用于进行Base64编码和解码。但在某些情况下,Eclipse可能无法直接使用这些类,这可能是由于项目配置、JDK版本不兼容或其他原因导致的。以下将详细介绍如何在Eclipse中解除对这些...

    加密_jar文件_base64 Jar包

    在Java中,可以使用`java.util.Base64`类来进行Base64编码和解码,而加密和解密则可以通过`javax.crypto`包提供的接口来实现。例如,AES加密可能涉及`Cipher`类,用于实现加密和解密操作,`SecretKeySpec`用于创建...

    前端使用jsencrypt加密后端使用java RSA解密功能实现源码

    这里的“你的公钥”应当从后端获取,通常是Base64编码的PEM格式。 后端(这里是Java)使用`RSAUtils.java`来处理解密过程。Java提供了内置的`java.security`包,可以方便地处理RSA加密和解密。`RSAUtils`类可能包含...

    pbfunc9_HTTP_pb二维码_pbbase64_pbfunc源码_pbhttp_

    综合上述内容,`pbfunc9`是一个集成了多种功能的库,主要面向Protocol Buffers的使用者,提供了HTTP交互、二维码生成、Base64编码解码等实用工具。这个库的源码可以作为一个学习资源,帮助开发者更好地理解和处理PB...

    java各文件转换应用源码

    在Java 8及以上版本,`java.util.Base64`类提供了解码和编码的API。Base64编码将二进制数据转换为ASCII字符串,适合在不支持二进制传输的环境中使用,如电子邮件。解码则是相反的过程,将Base64字符串还原为原始二...

    Java公钥加密私钥解密.rar

    这个类可能包含了Base64编码和解码的方法,如`encode()`和`decode()`。 总的来说,这个压缩包提供的代码实例展示了如何在Java中利用RSA公钥/私钥加密技术来保护敏感信息的安全。这在实际应用中,比如HTTPS通信、...

    前端JS加密,后端JAVA解密实例.rar

    在Java中,可以使用`java.util.Base64`类来进行Base64的编码和解码。 在解码Base64字符串后,后端需要使用相同的密钥和算法对数据进行解密,以恢复原始信息。这通常涉及到与前端使用的相同加密库或者实现,例如在...

    JAVAWEB照相带完整例子

    `Base64.java`是一个处理base64编码和解码的类。在JavaWeb应用中,当需要在网络上传输图片或者其它二进制数据时,base64编码是一个常用手段,因为它可以把二进制数据转化为ASCII字符串,方便在网络中传输。在这个...

    ecc_java_implement.zip_ecc_ecc java_ecc加密_ecc加密字符串

    4. **Base64编码**:理解Base64编码的原理和Java中的`java.util.Base64`类的使用,包括编码和解码方法。 5. **16位字符串格式**:了解如何将二进制数据转化为16位字符串,并在Java中实现转换。 6. **源码分析**:...

    java二维码工具类,中间带LOGO的,很强大

    `BufferedImageLuminanceSource`是ZXing为了读取图像数据并将其转换为适合编码或解码的格式而设计的。 6. **LOGO集成**: 在二维码中间添加LOGO可以提高品牌识别度。实现这个功能通常涉及将LOGO图像转换为适合嵌入的...

    javaword图片.pdf

    JavaWord图片处理主要涉及到的...需要注意的是,为了正确地将Base64编码的数据解码为原始的二进制图片,还需要使用Base64解码库,如Java 8及以上版本提供的`java.util.Base64`类,或者第三方库如Apache Commons Codec。

    Java实现AES CBC PKCS7Padding加解密.docx

    2. 在进行Base64编码和解码时,确保使用相同的字符集,例如这里使用的是UTF-8。 3. 加密和解密过程中处理异常,避免因为加密或解密失败而导致程序崩溃。 此外,由于`AESUtil`类中的密钥和偏移量是硬编码的,这在...

    HeadUpload:头像上传1.摄像头2.图库3.裁剪4.将字节转换成Base64编码然后再传递

    本项目“HeadUpload”专注于实现这一功能,通过三种途径:摄像头、图库选择以及图片裁剪,并且涉及了将图片数据转换为Base64编码以便在网络传输中使用。以下是对这些知识点的详细解释: 1. **摄像头**: 使用...

    信息安全技术试验指导书

    实验过程中,你可以使用编程语言如Python或Java来实现Base64的算法,并测试不同数据的编码和解码结果,确保正确性。 实验二:设计与分析随机数算法 随机数在信息安全中扮演着重要角色,例如在密码学中生成密钥、...

Global site tag (gtag.js) - Google Analytics