5.7.3 两种实现方式的差异
两种实现方式的主要差异在于实现标准。
Bouncy Castle的Url Base64算法实现与RFC 4648定义较为接近,构建定长Base64编码,使用“.”符号作为填充符。
Commons Codec的Url Base64算法实现遵照了RFC 4648绝大部分定义,为避免可能的错误,使用不定长Base64编码,抛弃了填充符。
对于这两种实现,从实用性的角度讲,通过URL参数方式传输数据往往要求数据长度尽量缩短,以缩短URL长度,避免网关限制,减少网络传输时间。从这一点讲,Commons Codec的Url Base64实现较为实用。