1.计数系统
base,这个词在数学中表示基数,即计数系统中用于表示数字的不同符号的数量。
例:
二进制计数系统中只有两个符号表示数字,即0和1,故二进制系统可以用Base2表示。
十进制计数系统中仅使用十个符号表示数字,即
0 ~ 9
,故十进制计数系统可以使用Base10
来进行表示。十六进制系统中仅使用十六个符号表示数字,即
0 ~ 9 及 a ~ f
,故十六进制计数系统可以使用Base16
来进行表示。
2.编码系统
Base 在计算机编码系统中则用于表示该编码系统所使用的字符集的大小。Base 描述了该系统的基数,而后面的数字表示这个基数的具体数值。这样的命名方法直观地 告诉我们这个编码系统使用了多少种不同的字符来表示数据。
例:
Base16 编码系统中使用十六个字符来对数据进行编码
Base32 编码系统中使用 三十二个字符来对数据进行编码
3.base
密文特征 | 加密 | 密文特点 | |
base16 | 0-9、A-F | 每4位分一组,不足四位用0补,将这4位二进制数转换为十进制数,然后与base16编码表比对。 | 密文是原来的两倍多,没有= |
base32 | 2-7、A-Z | 每5位分一组,不足五位用0补,补整五位用=补,将这5位二进制数转换为十进制数,然后与base32编码表比对。 | 编码的文本必须是40的倍数(5和8的最小公倍数),末尾最多6个= |
base36 | 0-9、A-Z/a-z | 不分大小写 | |
base62 | 比base64少+、/ | ||
base64 | a-z、A-Z、0-9、+、/、= | 将串起来的二进制以6位进行分割.所以分切之前的二进制位数应该是24的倍数(即6,8的最小公倍数).如果不足24位,则在编码后数据后面添加= ,一个= 相当于6个二进制位 | 密文是8的倍数,数据量是原先的三分之四倍 |
base85 | 一般没有等号 | ||
base91 |
0-9,a-z,A-Z, !#$%&()*+,./:;<=>?@[]^_`{|}~”
| ||
base100 | Emijo表情 |
下面以base16为例:
补位: