Base64デコード
Base64をデコードして読めるテキストに戻します。標準またはURLセーフのアルファベットに対応し、すべてブラウザ内で動作します。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
Base64文字列を貼り付けて、本当の中身を読み取ります。Authorizationヘッダー、JWTのセグメント、data URI、誰かがフォームを通すためにエンコードした設定値などです。
仕組み
文字列をバイト列にデコードし、それをUTF-8として読みます。改行とスペースは先に無視されるので、メールやPEMファイルのように64文字や76文字で折り返されたBase64も、整えずにそのまま貼り付けられます。
それ以外の点ではデコードは厳格です。アルファベットにない文字やありえない長さは、黙って読み飛ばさずに指摘されます。黙って部分的にデコードしてしまうと、途中で切れたトークンに気づけなくなるからです。
例
| ケース | 入力 | 結果 |
|---|---|---|
| Authorizationヘッダーの値 | YWxhZGRpbjpvcGVuc2VzYW1l | aladdin:opensesame |
| JWTのペイロード(URLセーフのアルファベットを使用) | eyJzdWIiOiIxMjMifQ | {"sub":"123"} |
よくある質問
JWTのセグメントがデコードできないのはなぜですか?
JSON Web TokenはURLセーフのアルファベットを使い、パディングを省くので、アルファベットの設定を切り替えてください。また、セグメントは1つずつデコードしてください。JWTはドットでつないだ3つのBase64文字列であり、全体はBase64ではありません。
「テキストではなくバイナリデータ」と表示されます。
文字列は正しくデコードされましたが、そのバイト列がUTF-8テキストではありません。画像、圧縮されたペイロード、暗号化されたデータなどです。文字として表示すると壊れてしまうので、何も表示しません。
値はどこかに送信されますか?
いいえ。デコードはページ内で行われます。ここではそれがほかのどこよりも重要です。デコーダーに貼り付けられるBase64文字列は、資格情報であることが非常に多いからです。
知っておきたいこと
- すべてブラウザ内で処理されます。貼り付けた内容はアップロードも記録も保存もされません。