模組encoding
encoding
模組是FibJS 內建的一個模組,用於實現各種資料編碼格式與二進位之間的轉換。這些資料編碼格式包括了base64
、base32
、hex
、json
、msgpack
、multibase
、base58
等等一些常用的資料編碼格式。
以下是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` 模組的引用方式:
1var encoding = require('encoding');
物件
base32
base32編碼與解碼模組
1base32 encoding.base32;
base64
base64編碼與解碼模組
1base64 encoding.base64;
base58
base58編碼與解碼模組
1base58 encoding.base58;
hex
hex編碼與解碼模組
1hex encoding.hex;
multibase
multibase編碼與解碼模組
1multibase encoding.multibase;
iconv
iconv編碼與解碼模組
1iconv encoding.iconv;
json
json編碼與解碼模組
1json encoding.json;
msgpack
msgpack編碼與解碼模組
1msgpack encoding.msgpack;
靜態函數
isEncoding
判斷指定的編碼是否支持
1static Boolean encoding.isEncoding(String codec);
呼叫參數:
回傳結果:
- Boolean, 返回編碼是否支持
encode
將Buffer編碼為字串
1
2static 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
2static 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
2static String encoding.jsstr(String str,
Boolean json = false);
呼叫參數:
- str: String, 要編碼的字串
- json: Boolean, 是否生成json相容字串
回傳結果:
- String, 返回編碼的字串
encodeURI
url字串安全編碼
1static String encoding.encodeURI(String url);
呼叫參數:
- url: String, 要編碼的url
回傳結果:
- String, 返回編碼的字串
encodeURIComponent
url部件字串安全編碼
1static String encoding.encodeURIComponent(String url);
呼叫參數:
- url: String, 要編碼的url
回傳結果:
- String, 返回編碼的字串
decodeURI
url安全字串解碼
1static String encoding.decodeURI(String url);
呼叫參數:
- url: String, 要解碼的url
回傳結果:
- String, 返回解碼的字串