URL セーフな Base64 変種:+ / = を - _ に置換し、パディングを除去
Base64URL は Base64 の「URL セーフ」な変種で、URL、ファイル名、Cookie などの文脈での送信のために設計されています。標準 Base64 では + と / は URL 内でエスケープされ(%2B、%2F になる)、= パディングはしばしば曖昧さを生みます。
Base64URL は 3 つの置換を行います:+ → -、/ → _、末尾の = パディングを除去します。結果は追加のエンコードなしでそのまま URL パラメータに配置できます。JWT(JSON Web Token)、OpenID Connect、OAuth などのプロトコルで広く使われています。
入力: Hello World
標準 Base64: SGVsbG8gV29ybGQ=
Base64URL: SGVsbG8gV29ybGQ
+ ↔ -、/ ↔ _ を置換し、長さに応じて = パディングを付けたり除いたりするだけです。元のデータは同一です。+ / = を除去することで、URL エンコードが構造を壊すのを防ぎ、どの環境でも確実にトークンを解析できます。