Java解析和转化64位字符串是有两种方式的
1.Java API本身自带功能
2.Apache做的共同Jar文件
public static String ecodeBase64(byte[] buf) {
return (new BASE64Encoder()).encode(buf);
}
public static byte[] decodeBase64(String buf) {
try {
return (new BASE64Decoder()).decodeBuffer(buf);
} catch (IOException e) {
}
return null;
}
//apache jar
public static String ecodeBase64_Common(byte[] buf) {
return Base64.encodeBase64String(buf);
}
public static byte[] decodeBase64_Common(String buf) {
return Base64.decodeBase64(buf);
}
public static String remove(String str) {
return str.substring(0, str.length() - 1);
}
对于上面两个方案,有个小问题
encode的时候会出现末尾出现额外字符的情况
我写了解决方案就是将末尾字符去掉remove方法
具体的问题的原因大概是java本身是127位的关系而不是128位的缘故
好了
上面代码我写了一个例子:
package com.java;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Test {
public static void main(String[] args) {
System.out.println(remove(ecodeBase64(decodeBase64("chenhailong"))));
System.out.println(remove(ecodeBase64_Common(decodeBase64_Common("chenhailong"))));
}
public static String ecodeBase64(byte[] buf) {
return (new BASE64Encoder()).encode(buf);
}
public static byte[] decodeBase64(String buf) {
try {
return (new BASE64Decoder()).decodeBuffer(buf);
} catch (IOException e) {
}
return null;
}
public static String ecodeBase64_Common(byte[] buf) {
return Base64.encodeBase64String(buf);
}
public static byte[] decodeBase64_Common(String buf) {
return Base64.decodeBase64(buf);
}
public static String remove(String str) {
return str.substring(0, str.length() - 1);
}
}
希望对你有帮助
分享到:
相关推荐
base64与字符串互相转化!!!!base64与字符串互相转化,base64与字符串互相转化
c#中 base64字符串与普通字符串互转,转成 Base64 形式的...
二维码转化BASE64字符串存储
java 把PDF转换成BASE64,java 把PDF转换成BASE64,java 把PDF转换BASE64,java 把PDF转换成BASE64java 把PDF转换成BASE64
Base64转String字符串,支持将Base64转化为String字符串
支持maven引入依赖生成二维码,自带工具类,支持生成二维码到本地,也可以转成base64字符串(前端轻松解析),写好了强大的工具类,总有一个适合你的。。。。。
base64将文件(图片或其它)转码成字符串,将字符串还原成文件
网上都是针对文件图片的Base64处理, 补充这个工具处理文本,字符串。 编码为UTF8。
图片与Base64加密码字符串相互转换工具 带源码
File Base64 File Base64 File Base64 File Base64 文件转化为base64字符串
简单实现js对字符串进行base64转码/解码
根据url和图片左上右下两点坐标裁剪图片并返回base64格式字符串,java工具类,适用于人脸识别
base64序列化字符串,用于传输,避免传输过程中转义符错误。
Base64ToPic.java base64字符串图片互转
NULL 博文链接:https://wangchengyong.iteye.com/blog/891125
Java 从网络中读取图片 转换成Base64字符串
Base64文本字符串解码编码双向解析转换工具,网上都是针对文件的Base64处理,这个就只针对字符串文本,字符串编码为UTF8。
字符串内容编码为base64 繁殖将base64解码为字符串
在网页中把Base64字符串显示为图片很容易,但是当前台使用Thymeleaf框架时,就得绕个小弯子,直接使用html框架中的方法不行,本文详解了用Thymeleaf显示Base64字符串为图片的方法,望对大家有所帮助。
java生成二维码_java将二维码转换成base64