base家族分类方法

base家族总是傻傻分不清, 所以就做了以下的总结,方便自己的分类

以下是关于ascii码、base64、base32、base16的微妙关系

 

ASCII码表 ---字符一共 256个(8bit表示一个字符)




base64字符---字符一共64个  (6bit表示一个字符)

表示方式:
base64中包含大写字母(A-Z)、小写字母(a-z)、数字0-9以及+/;
base64编码后一般都有=号,而且密文长度较长的也基本是base64编码

剩余一个八位字节(1个byte)时,最后一个6位的base64字节块有四位是0值,最后附加上两个等号;
8+4=12  可以被三整除,补4个0 ===> 两个等于号
剩余两个八位字节(2个byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号
16+2=18 可以被三整除,补2个0 ===> 补一个等于号

 




base32字符---字符一共32个(5bit表示一个字符)

表达方式:
Base32中只有大写字母(A-Z)和数字234567
{不包括189}以及特殊符号

长度不足补足
1个字节(byte)时,补足6个=号
2个字节(byte)时,补足4个=号
3个字节(byte)时,补足2个=号
4个字节(byte)时,补足1个=号

8 => +2 =>10 /// 2bit ==> 6 =
16 => +4 +> 20 // 4bit ==> 4 =
24 => +6 => 30 // 6bit ===> 2 =
32 => +8 => 40 // 8bit ===> 1 =




base16字符---字符一个16个(4bit表示一个字符)
base16就是用16(2的4次方)个特定ASCII码表示256个ASCII字符。1个ASCII字符经过base16编码后会变为2个字符,长度增加一倍

表达方式:
相当于16进制,0-9和ABCDEF

posted @ 2021-11-19 11:58  p40h33  阅读(326)  评论(0)    收藏  举报