モジュールマルチベース
Multibase は Base1x エンコーディングに基づいており、さまざまなエンコーディング プレフィックス エンコーディング メソッドを導入しています。
multibase は、異なるエンコード方法を使用して同じデータをエンコードし、エンコード方法を示す接頭辞を追加できます。マルチベースでサポートされている 15 のエンコーディング方式があります。つまり、base1、base2、base8、base10、base16、base32、base32hex、base32z、base36、base40、base56、base58flickr、base58btc、base64、base64url。その中でもbase16、base32とbase64がより一般的に使用されます。
multibase を使用すると、バイナリ データの表現を変更せずに変更できます。たとえば、ランダムに生成されたバイナリ データを次のようにエンコードします。base32次の形式の文字列:
1
2
3
4
5
6
7
8const {
encode
} = require('multibase');
const crypto = require('crypto');
const data = crypto.randomBytes(10); // generate 10 bytes random data
const encodedStr = encode(data, 'base32'); // encode data to base32 string
console.log(encodedStr); // ==> "bpgwnvztqmlbo5fy"
上記の文字列を生のバイナリ データにデコードします。
1
2
3
4
5
6const {
decode
} = require('multibase');
const data = decode('bpgwnvztqmlbo5fy', 'base32'); // decode base32 string to data
console.log(data); // ==> <Buffer a7 55 3d 33 ca 97 ac 0d aa 40>
ご覧のとおり、マルチベースを使用して、元のバイナリ データを次のようにエンコードします。base32この文字列を生のバイナリ データにデコードできます。
静的関数
encode
マルチベース方式でデータをエンコードする
1
2static String multibase.encode(Buffer data,
String codec);
呼び出しパラメーター:
- data:Buffer、エンコードするデータ
- codec: 文字列、エンコード方法を指定します
戻り値:
- String、エンコードされた文字列を返します
decode
マルチベース モードで文字列をバイナリ データにデコードする
1static Buffer multibase.decode(String data);
呼び出しパラメーター:
- data: 文字列、デコードする文字列
戻り値:
- Buffer、デコードされたバイナリ データを返します