迅速看懂Base64编码

一、Base64是什么

Base64是一种编码方式,用于传输8位(8 bit)字节码,实质基于64个可打印字符来表示二进制数据的一种方法。

这64个可打印字符就是:   A-Za-z0-9+/
//26+26+10+2 = 64个

Base64编码是数据从二进制到字符的过程,在金融类系统中,系统的报文传输一般都会用Base64进行转码,然后再进行其他操作。Base64编码后数据具有不可读性,需要对应的Base64解码后才能阅读。

Base64编码使用8bit表示原来字符的6bit,所以编码后,每3个ASCII码会被转换成4个字符。例如:

“BAS”经Base64编码后变为“QkFT”,Base64字符与索引对应关系见下图:

当ASCII码不是3位或者3的倍数呢,我们再看一种情况:

“B”经过Base64编码后,变为了“Qg==”,这时我们注意到,当位数不够时,要在bit分组时末尾补0,全是0或者没有数的话,便用“=”补齐字符差位。

 

二、在Java中怎么实现Base64

Java中已经有Base64的封装类了,只需调用即可,所以使用还是很方便的啦。

import java.io.UnsupportedEncodingException;
import java.util.Base64;

class Base64Encoding {

	public static String base64Encoding(String str) throws UnsupportedEncodingException{
		return Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));
	}
	
	public static void main(String[] args) throws UnsupportedEncodingException {
		
		String str1 = "BAS";
		String str2 = "B";
		System.out.println(str1+"\n 经Base64编码后成为:\n"+base64Encoding(str1)+"\n");
		System.out.println(str2+"\n 经Base64编码后成为:\n"+base64Encoding(str2));
	}

}

//结果:----------------------------------------------------------------------------------

//BAS
//经Base64编码后成为:
//QkFT

//B
//经Base64编码后成为:
//Qg==

以上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值