LoginSignup
50
23

More than 3 years have passed since last update.

Base64 エンコードと Base64 URL エンコードの違い

Posted at

API のドキュメントを読み漁っていると、Base64 Url Safe Encoding という記述を見ました。
LINE WORKS API - 顧客/取引先の連絡先の写真アップロード

何じゃこりゃ?('Д')
普通の Base64 Encode とどう違うの??

ってなわけで調べてみました。

Base64 Encode

まずは Base64 Encode について、改めて調べ直しました。

Base64

Base64 は、データを 64 種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式。

A–Z, a–z, 0–9 までの 62 文字と、2つの記号 +, / さらにパディング(余った部分を詰める)のための記号として = が用いられている。

Base64 URL Encode

URL に使用できる Base64 Encode のことを指します。

URL セーフな Base64 Encode とか Base64 URL Encode とか、先ほどの Base64 Url Safe Encoding とか、様々な呼び方があるようです。

URL や URI だと +/ などは別の意味を持ってしまうため、これらを置き換えるようです。

Base64 URL

まず、Base64 Encoding をしたあと、に各記号を置き換えるようです。

  • +- に置換
  • /_ に置換

+- に、/_ に置き換える仕様みたいです。
パディングおよび = は省略します。

このように Base64 の中でも URL セーフなものを Base64 URL と区別します。

おわりに

ここまでお付き合いいただきありがとうございました。

調べてみると「なんだ、こんなことか」と思うのですが、そのままザラっと流しちゃうと知識として自分の頭に定着しないんですよ。
頭悪いんで!( ゚Д゚)

しっかり書いて、読み返す。
頑張って覚えて、先輩たちのような素敵エンジニアを目指したいと思います。

ではまた!(^^)/

参考にさせていただきましたm(_ _)m

ウィキペディア(Wikipedia)- Base64
RFC 4648 - The Base16, Base32, and Base64 Data Encodings
Base64エンコードとBase64URLエンコードについて
Base64 エンコーダー(画像をbase64エンコードするツール)

50
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
23