Base62编码解码-Base62

介绍

Base62编码是由10个数字、26个大写英文字母和26个小写英文字母组成,多用于安全领域和短URL生成。

使用

  1. String a = "伦家是一个非常长的字符串66";
  2. // 17vKU8W4JMG8dQF8lk9VNnkdMOeWn4rJMva6F0XsLrrT53iKBnqo
  3. String encode = Base62.encode(a);
  4. // 还原为a
  5. String decodeStr = Base62.decodeStr(encode);

Base64编码解码-Base64

介绍

Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。

使用

  1. String a = "伦家是一个非常长的字符串";
  2. //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy
  3. String encode = Base64.encode(a);
  4. // 还原为a
  5. String decodeStr = Base64.decodeStr(encode);

Base32编码解码-Base32

介绍

Base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码。所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足。

使用

  1. String a = "伦家是一个非常长的字符串";
  2. String encode = Base32.encode(a);
  3. Assert.assertEquals("4S6KNZNOW3TJRL7EXCAOJOFK5GOZ5ZNYXDUZLP7HTKCOLLMX46WKNZFYWI", encode);
  4. String decodeStr = Base32.decodeStr(encode);
  5. Assert.assertEquals(a, decodeStr);