当前位置: 首页 > 网络应用技术

基本64编码解码原理

时间:2023-03-09 12:19:45 网络应用技术

  短期划分的方法是使用股息除以可以删除的质量数,依此类推,依此类推。通过短期删除,可以将十进制数量连续2次删除2获得多个剩余的数字。最后,剩余的数字从下到顶部排列以获取二进制数字。

  示例:以对应于字符n的ASCII编码110作为示例。

  其余数字从底部到顶部排列,并且对应于字符n编码110 rpm的ASCII编码为1101110。由于一个字节对应于8位(位),因此有必要将0到8 -bit构成0并获得01101110。可以获得其余字符。

  根据功率,从右到左的二进制二进制数量,次数从0增加到7,碱数为次数。我们已经是二进制二进制二进制数量01101110 rpm 10 -proof作为示例:示例:$ $(01101110)_2 = 0 2^0 + 1 2^1 + 1 2^2 + 1 2^3 + 0 2^4 + 1 2^5 + 12^6 + 0 * 2^7 $ $ $ $

  在二进制编号系统中,每个0或1有点(位,位),也称为存储单元,这是最小的数据存储单元。8BIT称为字节(字节)。

  位移操作员是程序设计中的一种操作运算符。可以根据二进制转移位移操作员。根据翻译方向和填充数字规则,将其传输到三种类型:<<(左移)、>>(带来符号的正确移动)和>>>(未签名的右)。在基本的编码和解码过程中,它是正面的,因此仅使用它<<(左移)、>>(带来符号的正确移动)两个操作员。

  这是具有操作或操作的计算机中的基本逻辑计算方法。

  $ 2^6 = 64 $ $

  BASE64编码是用8位(位)字节序列拆卸为4 6-bit(bit)字节(6位有效字节,左侧的两个始终是0。实际上,它也是0。相同。8位字节)后续序列,然后找到获得的子序列以找到base64的编码索引表,并将相应的字符缝合到新类型的代码中。

  8位(位)序列的字节序列的拆分过程分为4 6-位(位)字节,如下图所示:

  因为6和8的最大倍数为24,所以3 8位字节可以分为4 6个字节。0并化妆8位。如下所示:

  补充后所需的存储单元为32,是原始24的4/3倍,这就是为什么基本64编码的大小是原因的4/3倍。

  因为二进制的6位(位)为2,也就是说,二进制数(00000000-00111111)之间的64个二进制数为0-63。

  因为我们得到的8位二进制数中的前两个始终为0,并且只有6个真实有效性位置,因此我们可以获得的二进制数量仅为2个。

  基本64的编码索引表,字符使用“ A-Z,A-Z,0-9,+,/” 64个打印字符代表(0000000000-00111111)。

  我该怎么办3个字节分为4个字节?

  分析映射关系:ABC→XYZI。我们分析了从高到低位置的过程

  通过上述映射关系,实现思想:

  转动两个 - 两位二进制的6-位两位有效咬合,找到右BASE64字符

  以HAO字符串为例,观察Base64编码的过程,并通过代码逻辑分析实现上述转换

  第三个字符和第四个字符的算法分析是相同的

  组织上述代码并扩展到多字符字符串

  原始字符串的长度不是3,需要特殊处理

  所有代码

  反向派生,从每个4位有效位置的二进制数量巩固到3 8位二进制数字,以及根据ASCII编码的缝线字符串字符串的字符串字符串字符串字符串

  分析映射关系xyzi-> abc

  如果有用的'='来构成位置

  组织代码后解码整个字符串

  上述解码的核心是字符索引的映射和base64字符集。

  可以看出,base64decodechars不会在ACCII编码表的索引中存储基本64编码表的相应字符的索引。

  当base64编码和解码时,base64encoder class和base64decoder class in the sun.misc package in JDK中

  Sun.misc软件包提供的base64编码解码功能不高,因此已删除1.8之后的JDK版本

  Apache Commons编解码器具有base64的编码和解码函数。它将使用该套件下的base64类别。用法如下

  1.引入依赖性

  2.代码实现

  与Sun.misc软件包和Apache Commons编解码器提供的BASE64编解码器方法相比,Java 8提供的基本64具有更好的效率。实际测试编码和解码速度,Java 8提供的base64至少比该速度快11倍套件,至少比提供的快3倍。

  base64是一种数据编码方法,可用于简单加密。它可以通过更改base64编码映射顺序来形成自己独特的加密算法。

  原始:https://juejin.cn/post/710042122864453255