Node.jsでBase64文字列からバイナリデータに変換する

Node.jsでBase64文字列からバイナリデータに変換する方法です。
Base64文字列からバイナリに変換する方法としてatob()を使う方法が見つかりますが、atob()deprecated(非推奨)となっていたり、Node.jsでは使えなかったりします。

Base64 文字列への変換

まずは、Base64文字列を作成する方法。

const text = '1234567890zxcvb';

let encode = Buffer.from(text).toString('base64');
console.log(encode); // MTIzNDU2Nzg5MHp4Y3Zi
Base64文字列からバイナリデータへデコード
let decode = Buffer.from(encode, 'base64');
console.log(decode); // <Buffer 31 32 33 34 35 36 37 38 39 30 7a 78 63 76 62>
console.log(decode.toString()); // 1234567890zxcvb
BufferからTypedArrayへの変換
const bytes = Uint8Array.from(decode); 
console.log(bytes);
Uint8Array(15) [
    49,  50, 51, 52,  53,  54,
    55,  56, 57, 48, 122, 120,
    99, 118, 98
]

バイナリデータでのファイル保存について

ファイル保存はBufferTypedArrayどちらでも保存できます。

fs.writeFileSync(<ファイル名>, decode);
fs.writeFileSync(<ファイル名>, bytes);
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です