Skip to content

编码函数

Base64

js
legado.base64Encode(str) → string    // 字符串 → Base64
legado.base64Decode(str) → string    // Base64 → 字符串

也可使用全局函数 btoa() / atob()

示例

js
var encoded = legado.base64Encode('Hello World');
// "SGVsbG8gV29ybGQ="

var decoded = legado.base64Decode('SGVsbG8gV29ybGQ=');
// "Hello World"

URL 编码

js
legado.urlEncode(str) → string           // URL 编码(UTF-8)
legado.urlDecode(str) → string           // URL 解码
legado.urlEncodeCharset(str, charset) → string  // 指定字符集编码

示例

js
// UTF-8 编码(大多数站点)
var q = legado.urlEncode('斗破苍穹');
var url = BASE + '/search?q=' + q;

// GBK 编码(老旧站点)
var q = legado.urlEncodeCharset('斗破苍穹', 'gbk');
var url = BASE + '/search.php?keyword=' + q;

TIP

对于 UTF-8 站点,也可以直接使用 JavaScript 内置的 encodeURIComponent()

HTML 实体

js
legado.htmlEncode(str) → string    // 字符 → HTML 实体
legado.htmlDecode(str) → string    // HTML 实体 → 字符

示例

js
legado.htmlEncode('<script>alert(1)</script>');
// "&lt;script&gt;alert(1)&lt;/script&gt;"

legado.htmlDecode('&lt;p&gt;Hello&lt;/p&gt;');
// "<p>Hello</p>"

Base64 字节切片

js
legado.base64ByteSlice(inputB64, start, end?) → string

对 base64 解码后的字节数组进行切片,再重新编码为 base64。用于拆分 base64(IV || 密文) 等场景。

js
// 假设 data 是 base64(16字节IV + 密文)
var ivB64 = legado.base64ByteSlice(data, 0, 16);      // 前 16 字节 → IV
var cipherB64 = legado.base64ByteSlice(data, 16);      // 第 16 字节之后 → 密文

基于 MIT 许可发布