模組base32
base32 編碼與解碼模組
base32
模組是一個用於base32 編碼和解碼的模組。 Base32 是一種用於將二進位資料編碼為ASCII 字串的演算法,用於將二進位資料在郵件、DNS 等網路協定中傳輸。
此模組提供了兩個方法:encode
和decode
。其中encode
方法用於將二進位資料編碼為Base32 字串,decode
方法用於將Base32 字串解碼為二進位資料。下面是使用範例:
1
2
3
4
5const 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 方式編碼數據
1static String base32.encode(Buffer data);
呼叫參數:
- data:Buffer, 要編碼的數據
回傳結果:
- String, 返回編碼的字串
decode
以base32 方式解碼字串為二進位數據
1static Buffer base32.decode(String data);
呼叫參數:
- data: String, 要解碼的字串
回傳結果:
- Buffer, 返回解碼的二進位數據