nodejsでbase64データの扱い方。

2020年7月1日

Javascript テクノロジー プログラミング

nase64が便利過ぎて、システム連携の必至フォーマットということに気がついた、ユゲタです。 サーバーでコマンドラインで、とある文字列を打ち込んでいたところ、内包されている文字列でエスケープしなければいけないモノがたくさんある場合、環境に合わせた種類を選定するのもめんどくさい場合は、その文字列をbase64エンコードしてあげると、システムで引っかかりにくい、文字列の出来上がりです。 デコードもかんたんにできるし、大体のシステムで、デコーダも保持しているので、頻度にもよりますが、標準的に使用して、難読化するという事も悪くないと考えました。 でも、今回は、nodejsでそんなbase64文字列を扱った時に、少し戸惑ったので、備忘録としてブログに書いておきます。

本日のIT謎掛け

「base64」と、かけまして・・・ 「学ラン」と、ときます。 そのココロは・・・ みんなが理解できる、共通フォーマットです。

Nodejsのbase64のエンコード

normal-stringに格納された、どんな文字列でも、下記のようにすると、base64フォーマットに変換することができます。 var str1 = new Buffer(normal-string); var str2 = str1.toString('base64');

Nodejsのbase64のデコード

一方、base64データは以下のようにすると、かんたんにデコードできます。 var str1 = new Buffer(base64-string , "base64"); var str2 = str1.toString('ascii'); ただし、この状態では、日本語文字が含まれていると、それは全て文字コード化されてしまうため、webサイトで使う文字列などを扱う場合は、以下のようにする必要があります。 var str1 = new Buffer(base64-string , "base64"); var str2 = str1.toString('utf8'); これだけでOK!!!

参考

NodejsのBuffer機能を知りたい人は、下記のページに詳しく書かれていました。 Node.jsドキュメントからbase64エンコーディングをおさらい http://robin.hatenadiary.jp/entry/2017/01/08/225337 参考になりました!

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。