モジュール基本モジュール

モジュールマルチベース

Multibase は Base1x エンコーディングに基づいており、さまざまなエンコーディング プレフィックス エンコーディング方法が導入されています。

マルチベースは、異なるエンコード方式を使用して同じデータをエンコードし、エンコード方式を示すプレフィックスを追加できます。マルチベースでサポートされているエンコード方式は 15 種類あります。つまり、base1、base2、base8、base10、base16、base32、base32hex、base32z、base36、base40、base56、base58flickr、base58btc、base64、base64url。その中で、base16、base32そしてbase64比較的よく使われます。

マルチベースを使用すると、バイナリ データの表現を変更せずに変更できます。たとえば、ランダムに生成されたバイナリ データを次のようにエンコードします。base32次の形式の文字列:

1 2 3 4 5 6 7 8
const { 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 6
const { 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 2
static String multibase.encode(Buffer data, String codec);

呼び出しパラメータ:

  • data:Buffer、エンコードされるデータ
  • codec: 文字列、エンコード方法を指定します

返される結果:

  • String、エンコードされた文字列を返します

decode

マルチベースモードで文字列をバイナリデータにデコードします

1
static Buffer multibase.decode(String data);

呼び出しパラメータ:

  • data: String、デコードされる文字列

返される結果:

  • Buffer、デコードされたバイナリデータを返します