しょぼしょぼプログラマ雑記

自分のための備忘録。 開発記録など掲載してます。 質問・ご意見・ご感想等はTwitter ( https://twitter.com/yun_hokuto ) までお気軽にどうぞ。

Node.jsでのBase64エンコード&デコード+おまけ

最近はNode.jsを触ってます

そこで一部データをBase64で扱おうと思ったのですが、エンコード・デコードのやり方がわからない!!!

というわけで調べてみたらこんなサイト様を発見

Node.jsでbase64のエンコードとデコード 一言多いプログラマーの独り言

まぁ要は下記のようにすればいい、ということですね

// Base64エンコード
var encode = new Buffer('エンコードしたい文字列').toString();

// Base64デコード
// デコードしたい文字列:44OH44Kz44O844OJ44GX44Gf44GE5paH5a2X5YiX
var decode = new Buffer('44OH44Kz44O844OJ44GX44Gf44GE5paH5a2X5YiX', 'base64').toString();

そしてここからがおまけ

それは「Base64複数回噛ませたい場合」です

まぁよくよく考えれば当たり前な話です

// Base64エンコードを2回噛ませる場合
var encode1 = new Buffer('エンコードしたい文字列').toString();
var encode2 = new Buffer(encode1).toString();

上記の通り「.toString()」まで入れたものがBase64文字列になります

そのため、デコードの際も必要になります

// Base64デコードを2回噛ませる場合
var decode1 = new Buffer('NDRPSDQ0S3o0NE84NDRPSjQ0R1g0NEdmNDRHRTVwYUg1YTJYNVlpWA==', 'base64').toString();
var decode2 = new Buffer(decode1,'base64').toString();

ここでちょっとだけ躓いたので書いてみました