初心者必見!JavaScriptでBase64を使いこなす5つの方法

JavaScriptでBase64を使ったサンプルコードJS
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、JavaScriptでBase64を使いこなすことができるようになります。

初心者向けに分かりやすく解説し、サンプルコードも掲載しています。

これを機に、Base64を活用して、さまざまなプロジェクトに役立てましょう!

●JavaScriptでBase64とは

Base64は、バイナリデータを文字列で表現するためのエンコード方式です。

主に、画像や音声などのデータをテキストデータに変換して、HTMLやCSS、JavaScriptなどで利用できるようにする目的で使われます。

JavaScriptでは、Base64のエンコード・デコードを簡単に実行できます。

○Base64の基本

Base64では、データを64種類の文字(英数字と記号「+」、「/」)に変換して表現します。

また、データが3バイトずつ4文字の文字列に変換されるため、データ量が増えますが、テキストデータとして扱えるので、文字コードの問題やバイナリデータの扱いにくさを回避できます。

●Base64の使い方

ここでは、JavaScriptでBase64を使ったエンコード・デコードの方法を紹介します。

○サンプルコード1:文字列をBase64にエンコード

このコードでは、文字列をBase64にエンコードする方法を紹介しています。

この例では、「こんにちは」をエンコードしています。

const text = "こんにちは";
const encodedText = btoa(unescape(encodeURIComponent(text)));
console.log(encodedText); // 44OG44K544OI

○サンプルコード2:Base64から文字列にデコード

このコードでは、Base64から文字列にデコードする方法を紹介しています。

この例では、先程エンコードした「44OG44K544OI」をデコードしています。

const base64 = "44OG44K544OI";
const decodedText = decodeURIComponent(escape(atob(base64)));
console.log(decodedText); // こんにちは

○サンプルコード3:画像をBase64に変換

このコードでは、画像をBase64に変換する方法を紹介しています。

この例では、inputタグで選択した画像をBase64に変換しています。

<input type="file" id="imageInput" onchange="convertImageToBase64()" />

<script>
  function convertImageToBase64() {
    const input = document.getElementById("imageInput");
    const reader = new FileReader();
    reader.onload = (event) => {
      const base64Image = event.target.result;
      console.log(base64Image);
    };
    reader.readAsDataURL(input.files[0]);
  }
</script>

○サンプルコード4:Base64画像を表示

このコードでは、Base64でエンコードされた画像をHTML上で表示する方法を紹介しています。

この例では、先程作成したBase64画像を<img>タグで表示しています。

<img id="outputImage" />

<script>
  const base64Image = "data:image/png;base64,iVBORw0KG...";
  const outputImage = document.getElementById("outputImage");
  outputImage.src = base64Image;
</script>

●Base64の応用例

Base64はさまざまなシーンで応用できます。

ここでは、データの保存と復元について紹介します。

○サンプルコード5:Base64を使ったデータの保存と復元

このコードでは、Base64を使ってデータを保存し、そのデータを復元する方法を紹介しています。

この例では、localStorageを使ってデータを保存・復元しています。

// データを保存する
const data = {
  message: "こんにちは",
  number: 123,
};
const jsonString = JSON.stringify(data);
const base64Data = btoa(unescape(encodeURIComponent(jsonString)));
localStorage.setItem("myData", base64Data);

// データを復元する
const storedBase64Data = localStorage.getItem("myData");
const restoredJsonString = decodeURIComponent(escape(atob(storedBase64Data)));
const restoredData = JSON.parse(restoredJsonString);
console.log(restoredData); // { message: "こんにちは", number: 123 }

●注意点と対処法

Base64は便利なエンコード方式ですが、注意点もあります。

データ量が増えるため、通信量が多くなることがあります。

また、Base64でエンコードされたデータは暗号化されていないため、セキュリティ対策が必要です。

●カスタマイズ方法

Base64の応用範囲は広いため、さまざまなカスタマイズが可能です。

例えば、Base64を使って音声データをエンコード・デコードしたり、ファイルのダウンロード・アップロードを実現することができます。

まとめ

この記事では、JavaScriptでBase64を使う方法を紹介しました。初心者向けに分かりやすく説明し、サンプルコードも掲載しています。

これを機に、Base64を活用して、さまざまなプロジェクトに役立てましょう!