• base64编码


    一.简介 (来自百科)

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。

    Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读

    二.编码

    1.数据转为二进制数据,每8位一个字节,作为基本传输单位.
    2.一串二进制数据,每6位分隔,在高两位在补0,补充为一个字节,作为一个单位.如有3个字节二进制数据,则扩展为4个字节.
    3.数据分隔后,每个字节实际只有低6位有意义,2^4 = 64,这样最多有64种可转换,这应该是base64的意义吧.

    三.编码表
    1.0到25分别对应A到Z.
    2.26到51分别对应a到z.
    3.52到61分别对应0到9.
    4.62对应+,63对应/.

    四.例子
    1.数据:abc
    2.二进制数据:01100001 01100010 01100011
    3.分隔:  011000 010110 001001 100011
    4.分别对应索引:24 22 9 35
    5.索引对应编码表:Y W J j
    6.编码结果:YWJj

    五.总结
    1.打开二进制数据文件,一般都是乱码,通过base64编码,直接可见,可复制,可传输,简单有效.
    2.一个字节8位,没有256个可见字符直接表示,但通过base64编码,多个编码字符代码一个字节.
      这就是拆分的思想啊.在我们编程中,这种思想随处可见,如函数,类,多线程,多进程,分步式等.

  • 相关阅读:
    golang 相关
    ES root用户启动失败can not run elasticsearch as root
    基于 Flink CDC + Hudi 湖仓一体方案实践
    数据平台上云
    多云趋势
    数果实时数仓探索
    宽表的设计
    数仓指标体系
    Hudi在医疗大数据的应用
    Hudi on Flink上手使用总结
  • 原文地址:https://www.cnblogs.com/ginkgo-leaf/p/9687940.html
Copyright © 2020-2023  润新知