Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What are the problem?

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

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エンコードするツール)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?