• Base64编码


    什么是Base64

    Base64,顾名思义,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+“、”/“一共64个字符的字符集,(另加一个“=”,实际是65个字符,至于为什么还会有一个“=”,这个后面再说)。任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做base64编码
    base64不是加密算法,他只是一种编码方式,数据从一种形式转换为另一种形式进行传输/存储。

    Base64转化

    首先将字符串(图片等)转换成二进制序列,然后按每6个二进制位为一组,分成若干组,如果不足6位,则低位补0。每6位组成一个新的字节,高位补00,构成一个新的二进制序列,最后根据base64索引表中的值找到对应的字符。

    数值字符数值字符数值字符数值字符
    0A16Q32g48w
    1B17R33h49x
    2C18S34i50y
    3D19T35j51a
    4E20U36k520
    5F21V37l531
    6G22W38m542
    7H23X39n553
    8I24Y40o564
    9J25Z41p575
    10K26a42q586
    11L27b43r597
    12M28c44s608
    13N29d45t619
    14O30e46u62+
    15P31f47v63/

    Base64使用场景

    1、html中的图片用base64表示

    打开google的首页,就能看到某些样式中的图片不是一个资源地址,而是base64编码的字符串,这么做有什么好处呢? 当然是减少了一次http的请求,但也并不是什么图片都适合用base64来处理,因为图片越大,转换的base64的字符串就越长,对带宽的要求更高了。

    2、邮件传输

    早期电子邮件的收发只允许使用ascii字符,这就导致无法发送非ascii字符,图片等二进制文件。所以在MIME对电子邮件进行了扩展,该扩展协议就指定了内容的传输的编码格式,可以是base64,base64编码使得在电子邮件中传输图片成为可能。

    当然也可以将base64的内容放在url中传输。

    在主流编程语言中,都内置的base64模块,可以直接调用,无需自己重复造轮子

    java中使用Base64编码

    java.util包下已经实现了Base64,我们直接使用即可

    import java.io.UnsupportedEncodingException;
    import java.util.Base64;
    
    public class Main {
        public static void main(String[] args) throws UnsupportedEncodingException {
            // 编码
            String encode = Base64.getEncoder().encodeToString("Base64编码".getBytes("UTF-8"));
            System.out.println(encode);
            // 解码
            byte[] decode = Base64.getDecoder().decode(encode);
            System.out.println(new String(decode, "UTF-8"));
            
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    Git常用命令
    Linux下使用Git入门
    【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
    【Java】人工智能交互智慧导诊系统源码
    在排列中求lcs
    防火墙 (五十四)
    echarts 折线图详细配置
    Text2SQL中不同数据库SQL之间转换的实战代码
    AP5186 三功能 LED 降压型恒流芯片 手电筒 LED芯片
    Node.js 22 发布,原生支持 WebSocket 客户端
  • 原文地址:https://blog.csdn.net/qq_45771939/article/details/126503635