• Java实现BASE64编解码


    Java实现BASE64编解码

    作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

    BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更详细地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式。Java语言提供了一个很好的BASE64算法的实现,即Apache Commons Codec工具包。本文将简要地讲述如何使用BASE64以及它是如何工作的。

    以下我们用BASE64对字符串进行编码:

    import java.io.UnsupportedEncodingException;
    import org.apache.commons.codec.binary.Base64;
    
    public class Base64Test {
    	public static void main(String[] args){
    		String str = "Hello World";
    		try{
    			byte[] encodeBase64 = Base64.encodeBase64(str.getBytes("UTF-8"));
    			System.out.println("RESULT: " + new String(encodeBase64));
    		} catch(UnsupportedEncodingException e){
    			e.printStackTrace();
    		}
    	}
    }
    

    输出结果为:

    RESULT: SGVsbG8gV29ybGQ=

    上面输出的字符串是“Hello world”字符串的8位二进制值被连接在一起,然后以6位分组。随后每一个组都被转换成一个单独的数字并映射到Base64的索引。

    binary	dec Base64
    010010  18  S
    000110  6   G
    010101  21  V
    101100  44  s
    011011  27  b
    000110  6   G
    111100  60  8
    100000  32  g
    010101  29  d
    110110  54  2
    111101  61  9
    110010  50  y
    011011  27  b
    000110  6   G
    010000  16  Q
    

    注意:字符串最后加上了“=”,其意思表示字符串编码的结束。





  • 相关阅读:
    bzoj2733 永无乡 平衡树按秩合并
    bzoj2752 高速公路 线段树
    bzoj1052 覆盖问题 二分答案 dfs
    bzoj1584 打扫卫生 dp
    bzoj1854 游戏 二分图
    bzoj3316 JC loves Mkk 二分答案 单调队列
    bzoj3643 Phi的反函数 数学 搜索
    有一种恐怖,叫大爆搜
    BZOJ3566 概率充电器 概率dp
    一些奇奇怪怪的过题思路
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4008741.html
Copyright © 2020-2023  润新知