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

モジュールマルチベース

Multibase は Base1x エンコーディングに基づいており、さまざまなエンコーディング プレフィックス エンコーディング メソッドを導入しています。

multibase は、異なるエンコード方法を使用して同じデータをエンコードし、エンコード方法を示す接頭辞を追加できます。マルチベースでサポートされている 15 のエンコーディング方式があります。つまり、base1、base2、base8、base10、base16、base32、base32hex、base32z、base36、base40、base56、base58flickr、base58btc、base64、base64url。その中でもbase16、base32base64がより一般的に使用されます。

multibase を使用すると、バイナリ データの表現を変更せずに変更できます。たとえば、ランダムに生成されたバイナリ データを次のようにエンコードします。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: 文字列、デコードする文字列

戻り値:

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