base64编码

本文介绍了一种Base64 URL安全编码方法,用于解决HTTP请求中因+/符号导致的数据丢失问题。通过使用CommonsCodec库实现Base64 URL安全编码与解码,并提供了一个Java示例程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在base64进行编码时,如果要通过http请求,则会出现丢失数据的现象;实际是url中传输,需要注意+/符号,这2个符号有时会引起一些异常。可以使用Commons Codec实现


代码原创地址:http://blog.youkuaiyun.com/lonelyroamer/article/details/7638435

import java.io.UnsupportedEncodingException; 

  

import org.apache.commons.codec.binary.Base64; 

  

/** 

 * 封装Base64的工具类 

 */  


class UrlBase64Coder {  

    public final static String ENCODING = "UTF-8";  

    // 加密  

    public static String encoded(String data) throws UnsupportedEncodingException {  

        byte[] b = Base64.encodeBase64URLSafe(data.getBytes(ENCODING));  

        return new String(b, ENCODING);  

    }  

    // 解密  

    public static String decode(String data) throws UnsupportedEncodingException {  

        byte[] b = Base64.decodeBase64(data.getBytes(ENCODING));  

        return new String(b, ENCODING);  

    }  


}  



/** 


 * 测试类 


 */  


public class UrlBase64Test {  


    public static void main(String[] args) throws UnsupportedEncodingException {  


        String str = "Ad31";  


        // 加密该字符串  


        String encodedString = UrlBase64Coder.encoded(str);  


        System.out.println(encodedString);  


        // 解密该字符串  


        String decodedString = UrlBase64Coder.decode(encodedString);  


        System.out.println(decodedString);  


    }  


}  



转载于:https://my.oschina.net/u/1430510/blog/473755

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值