Module 基礎模組

模組base32

base32 編碼與解碼模組

base32模組是一個用於base32 編碼和解碼的模組。 Base32 是一種用於將二進位資料編碼為ASCII 字串的演算法,用於將二進位資料在郵件、DNS 等網路協定中傳輸。

此模組提供了兩個方法:encodedecode。其中encode方法用於將二進位資料編碼為Base32 字串,decode方法用於將Base32 字串解碼為二進位資料。下面是使用範例:

1 2 3 4 5
const base32 = require('base32'); const data = new Uint8Array([0x4e, 0x4f, 0x44, 0x45]); // 'NODE' const encoded = base32.encode(data); // 'KRUGKIDROV======' const decoded = base32.decode(encoded); // [0x4e, 0x4f, 0x44, 0x45] console.log(encoded, decoded); // KRUGKIDROV====== [78, 79, 68, 69]

可以看到,encode方法將二進位資料編碼為了KRUGKIDROV======,而decode方法將其解碼為了[0x4e, 0x4f, 0x44, 0x45]

需要注意的是,Base32 編碼的結果字串長度是原始二進位資料長度的約8/5 倍,因此不適合用於對大量資料的編碼。如果需要對大量資料進行編碼,建議使用Base64 編碼。

靜態函數

encode

以base32 方式編碼數據

1
static String base32.encode(Buffer data);

呼叫參數:

  • data:Buffer, 要編碼的數據

回傳結果:

  • String, 返回編碼的字串

decode

以base32 方式解碼字串為二進位數據

1
static Buffer base32.decode(String data);

呼叫參數:

  • data: String, 要解碼的字串

回傳結果:

  • Buffer, 返回解碼的二進位數據