Node.jsでBase64エンコードされた文字列をバイナリに戻す方法

2024-04-02

Node.jsでBase64エンコードされた文字列をバイナリに戻す方法

Node.jsでは、Bufferクラスを使用してBase64エンコードされた文字列をバイナリに戻すことができます。

手順

  1. Bufferクラスをインポートします。
const Buffer = require('buffer').Buffer;
  1. Base64エンコードされた文字列をデコードします。
const decodedString = Buffer.from(encodedString, 'base64');
  1. デコードされた文字列をバイナリデータとして使用します。
// デコードされた文字列をファイルに書き込みます。
fs.writeFileSync('output.png', decodedString);

// デコードされた文字列を画像として表示します。
const img = document.createElement('img');
img.src = `data:image/png;base64,${encodedString}`;
document.body.appendChild(img);
const Buffer = require('buffer').Buffer;

const encodedString = 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeAQMAAABv4z/SAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAEnQAABJ0Mn5/7QAAAAMSURBVBhXY2AYBfQAQCE0R+7/H/w68kYU8QcQLh8F/g290/8/C+E6D+QAAAAASUVORK5CYII=';

const decodedString = Buffer.from(encodedString, 'base64');

// デコードされた文字列をファイルに書き込みます。
fs.writeFileSync('output.png', decodedString);

// デコードされた文字列を画像として表示します。
const img = document.createElement('img');
img.src = `data:image/png;base64,${encodedString}`;
document.body.appendChild(img);

補足

  • Base64エンコードされた文字列は、data: URL スキームを使用して画像やその他のバイナリデータを表示するために使用できます。
  • Node.jsには、Base64エンコード/デコードを行うためのいくつかのライブラリも存在します。



const Buffer = require('buffer').Buffer;

const encodedString = 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeAQMAAABv4z/SAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAEnQAABJ0Mn5/7QAAAAMSURBVBhXY2AYBfQAQCE0R+7/H/w68kYU8QcQLh8F/g290/8/C+E6D+QAAAAASUVORK5CYII=';

// Base64エンコードされた文字列をデコードします。
const decodedString = Buffer.from(encodedString, 'base64');

// デコードされた文字列をファイルに書き込みます。
fs.writeFileSync('output.png', decodedString);

// デコードされた文字列を画像として表示します。
const img = document.createElement('img');
img.src = `data:image/png;base64,${encodedString}`;
document.body.appendChild(img);
  1. デコードされた文字列をファイルに書き込みます。

実行方法

  1. このコードをファイルに保存します。
  2. Node.jsを使用してファイルをを実行します。

出力

  1. output.pngというファイルが作成されます。
  2. ブラウザに画像が表示されます。

補足

  • このコードは、Base64エンコードされた文字列をバイナリデータに戻す方法を示しています。
  • バイナリデータは、ファイル、画像、その他の形式に変換することができます。



Node.jsでBase64エンコードされた文字列をバイナリに戻す方法

他の方法

util.promisifyを使用して、Buffer.from関数を非同期化することができます。

const util = require('util');

const bufferFrom = util.promisify(Buffer.from);

async function decodeBase64(encodedString) {
  const decodedString = await bufferFrom(encodedString, 'base64');
  // デコードされた文字列を処理します。
}

これらのライブラリを使用すると、より簡単にBase64エンコード/デコードを行うことができます。

ブラウザのAPIを使用する

ブラウザでは、atobbtoaというAPIを使用してBase64エンコード/デコードを行うことができます。

const decodedString = atob(encodedString);
// デコードされた文字列を処理します。

const encodedString = btoa(decodedString);
  • 簡單な方法でBase64エンコード/デコードを行いたい場合は、Bufferクラスを使用するのがおすすめです。
  • 非同期処理を行いたい場合は、util.promisifyを使用するのがおすすめです。
  • より多くの機能が必要な場合は、第三者ライブラリを使用するのがおすすめです。
  • ブラウザで動作するコードが必要な場合は、ブラウザのAPIを使用するのがおすすめです。

node.js encoding base64


Node.jsプログラムでコマンドライン引数を簡単に扱う! 2つの方法とそれぞれのメリット・デメリット

process. argv プロパティは、Node. jsプログラムが起動された時に渡されたコマンドライン引数をすべて含む配列です。このプロパティを使って、コマンドライン引数にアクセスすることができます。例このコードを実行すると、以下の出力が得られます。...


Node.js での REST API 呼び出しのサンプルコード

requestライブラリをインストールするREST API呼び出しを行うNode. jsには、axiosやsuperagentなど、request以外のREST API呼び出しライブラリも多数あります。curlコマンドは、REST API呼び出しを行うための別の方法です。 curlコマンドは、コマンドラインから簡単に使用できますが、Node...


改行で文字列を分割!JavaScriptとNode.jsのテクニック大公開

JavaScript と Node. js で文字列を改行 (\n) で分割するには、主に以下の2つの方法があります。String. prototype. split() メソッドを使う正規表現を使うそれぞれの特徴と使い方を以下で詳しく説明します。...


【Node.js x SQLite】db.serializeでデータベース操作をシリアル化!サンプルコードで分かりやすく解説

db. serializeのしくみdb. serializeは、引数として渡されたコールバック関数を同期的に実行します。つまり、コールバック関数内の処理が完了するまで、その後の処理は実行されません。これは、複数のデータベース操作が互いに干渉するのを防ぎます。...


【保存版】NVM関連のエラーを完全解決!「N/A: version N/A -> N/A is not yet installed」以外にも発生するエラーと対策

このエラーメッセージは、NVMで指定されたNode. jsバージョンがインストールされていないことを示しています。"N/A" は "Not Available" の略で、そのバージョンが利用できないことを意味します。このエラーが発生する原因はいくつか考えられます。...


SQL SQL SQL SQL Amazon で見る



JavaScriptで画像をBase64エンコードしてWebブラウザに表示する

JavaScriptで文字列をBase64エンコードするには、いくつかの方法があります。window. btoa()は、文字列をBase64エンコードされた文字列に変換するグローバル関数です。Bufferクラスは、バイナリデータを扱うためのクラスです。Bufferクラスを使って、文字列をBase64エンコードされた文字列に変換することができます。


Node.jsでBase64エンコード:3つの方法を徹底比較!

方法1:Bufferクラスを使用するNode. jsのBufferクラスは、バイナリデータを扱うためのクラスです。 このクラスを使用して、文字列やバイナリデータをBase64エンコードすることができます。方法2:cryptoモジュールを使用する


Base64エンコードとは?メリットとデメリット

Base64エンコードは、バイナリデータをASCII文字列に変換する手法です。画像データをBase64エンコードすることで、HTMLファイル内に直接画像データを埋め込むことが可能になります。Base64画像を表示するメリット画像ファイルの読み込み速度が向上する