Module 基礎模組

模組encoding

encoding模組是FibJS 內建的一個模組,用於實現各種資料編碼格式與二進位之間的轉換。這些資料編碼格式包括了base64base32hexjsonmsgpackmultibasebase58等等一些常用的資料編碼格式。

以下是encoding模組提供的各個子模組的簡單介紹:

  • iconv:用於處理各種編碼之間的轉換。
  • base64:提供了一些對Base64 編解碼的支持,可以將字串編碼為Base64 格式,也可以將Base64 格式解碼為字串。
  • base32:提供了對Base32 編解碼的支持,可以將給定的資料進行Base32 編碼並傳回編碼後的字串。也可以將Base32 編碼的字串解碼為原始的資料。
  • hex:提供了對十六進制編解碼的支持,可以將給定的資料進行十六進制編碼,並傳回編碼後的字串。也可以將十六進位編碼的字串解碼為原始的資料。
  • json:提供了對JSON 編解碼的支持,可以將JavaScript 物件序列化為JSON 字串,也可以將JSON 字串反序列化為JavaScript 物件。
  • multibase:提供了對Multibase 編碼的支持,Multibase 是在Base1x 編碼的基礎上引入了多種編碼前綴的編碼方式。
  • msgpack:提供了對Msgpack 編解碼的支持,Msgpack 是一種比JSON 更輕的數據交換格式,它可以將JSON 物件序列化為二進位數據,以達到更快、更有效率的數據交換效果。
  • base58:提供了對Base58 編解碼的支持,Base58 是一種數字與字母的組合表示方法,它不包含數字0、字母O、字母I、字母L 等易混淆字符,具有不易出錯的特點。

encoding模組中的大部分子模組都包含了編碼與解碼兩個函數,使用這些函數可以將特定格式的資料進行編碼或解碼。使用這些編解碼模組時,需要根據模組的類型等特點來選擇最適合的模組,才能確保編碼和解碼的正確性。

encoding` 模組的引用方式:

1
var encoding = require('encoding');

物件

base32

base32編碼與解碼模組

1
base32 encoding.base32;

base64

base64編碼與解碼模組

1
base64 encoding.base64;

base58

base58編碼與解碼模組

1
base58 encoding.base58;

hex

hex編碼與解碼模組

1
hex encoding.hex;

multibase

multibase編碼與解碼模組

1
multibase encoding.multibase;

iconv

iconv編碼與解碼模組

1
iconv encoding.iconv;

json

json編碼與解碼模組

1
json encoding.json;

msgpack

msgpack編碼與解碼模組

1
msgpack encoding.msgpack;

靜態函數

isEncoding

判斷指定的編碼是否支持

1
static Boolean encoding.isEncoding(String codec);

呼叫參數:

  • codec: String, 指定編碼格式,允許值為:"hex", "base32", "base58", "base64", "utf8", 或者iconv模組支援的字元集

回傳結果:

  • Boolean, 返回編碼是否支持

encode

Buffer編碼為字串

1 2
static String encoding.encode(Buffer data, String codec = "utf8");

呼叫參數:

  • data:Buffer, 初始化字串,字串將以utf-8 格式寫入
  • codec: String, 指定編碼格式,允許值為:"hex", "base32", "base58", "base64", "utf8", 或者iconv模組支援的字元集,預設為"utf8"

回傳結果:

  • String, 返回編碼的字串

decode

將字串解碼為Buffer

1 2
static Buffer encoding.decode(String str, String codec = "utf8");

呼叫參數:

  • str: String, 初始化字串,字串將以utf-8 格式寫入
  • codec: String, 指定編碼格式,允許值為:"hex", "base32", "base58", "base64", "utf8", 或者iconv模組支援的字元集,預設為"utf8"

回傳結果:


jsstr

將字串編碼為javascript 轉義字串,用以在javascript 程式碼中包含文本

1 2
static String encoding.jsstr(String str, Boolean json = false);

呼叫參數:

  • str: String, 要編碼的字串
  • json: Boolean, 是否生成json相容字串

回傳結果:

  • String, 返回編碼的字串

encodeURI

url字串安全編碼

1
static String encoding.encodeURI(String url);

呼叫參數:

  • url: String, 要編碼的url

回傳結果:

  • String, 返回編碼的字串

encodeURIComponent

url部件字串安全編碼

1
static String encoding.encodeURIComponent(String url);

呼叫參數:

  • url: String, 要編碼的url

回傳結果:

  • String, 返回編碼的字串

decodeURI

url安全字串解碼

1
static String encoding.decodeURI(String url);

呼叫參數:

  • url: String, 要解碼的url

回傳結果:

  • String, 返回解碼的字串