Base64解碼、Base64編碼、Base64加密解密

  1. 转换规则:进行Base64转换的时候,将3个byte(3*8bit = 24bit)的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲器中剩下的bit用0补足。然后,每次取出6个bit(24/6 = 4),因为2^6=64,按照其值选择ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/这64个字符中对应的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。当原数据长度不是3byte的整数倍时, 如果最后剩下1个输入数据,在编码结果后加2个“=”;如果最後剩下2個輸入數據,編碼結果後加1個“=”;如果沒有剩下任何數據,就什麽都不要加。
  2. Base64編碼後的數據比原始數據略長,長度約爲原來的4/3。
  3. Base64編碼對同一字符在不同的編碼下結果可能不同。
  4. 因爲編碼後的+/=字符,標准的Base64並不適合直接放在URL裏傳輸,有一些Base64的變種,它們將+/等符號轉換爲其他符號(如_-),这样就能安全的在URL中传输(Url Safe)了。