JSライブラリを1日1つ紹介する
1日1つJSのライブラリを調べます。
① ライブラリに関するドキュメントを最初から最後まで読む
② 実際に使ってみる or 使い方を調べる
③ ライブラリを3行で説明する
本日は、base64.jsのドキュメントを読んで実際に業務で使っているところを調べました。
実際に使ってみる
base64.jsは導入するとエンコードとデコードができる、というライブラリのようです。
Base64.encode('dankogai'); // ZGFua29nYWk=
Base64.encode('小飼弾'); // 5bCP6aO85by+
Base64.encodeURI('小飼弾'); // 5bCP6aO85by-Base64.decode('ZGFua29nYWk='); // dankogai
Base64.decode('5bCP6aO85by+'); // 小飼弾
// note .decodeURI() is unnecessary since it accepts both flavors
Base64.decode('5bCP6aO85by-'); // 小飼弾
わからなかったところ
今回は実際に使うより、encodeとdecodeについてよく知らなかったので調べてみました。
エンコード(英: encode)、符号化(ふごうか)とは、アナログ信号やデジタルデータに特定の方法で、後に元の(あるいは類似の)信号またはデータに戻せるような変換を加えることである。
デコード
エンコードした情報を元に戻すこと。
では、どうしてアプリ内でエンコードとデコードをする必要があるのでしょうか?
ざっと調べてみた感じ、絵文字などに対応したいからなのかな!と思いました☺️
あとで上司に答え合わせしてみたいと思います!
フィードバック
- 文字コードの対応ではない。
> 昔、Basic認証で使われていた経緯がある。Basic認証は、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する。
Basic認証 - Wikipedia
- Basic認証で使うだけだったら、こっちで良さそう。
WindowOrWorkerGlobalScope.btoa() - Web APIs | MDN
- 標準で搭載されているのに、再開発した作者のお気持ち
window.btoaがそのまま使えないブラウザがあった。URI SafeなBase64もサポートしたかった。という経緯があったそうです!
404 Blog Not Found:javascript - Yet Another Base64 transcoder
以上です!