YStudio Y++

编码支持库

Y++ / YStudio 开发文档 · 一点滴

扁平命令式支持库(不是类)。路径:支持库 → 编码支持库

与「加密解密」如何划分

能力 去哪
Base64 / URL / HTML / 十六进制 / MD5 / SHA 编码支持库到Base64取MD5…)
字符集(字节集换码 + 乱码修复) 编码支持库
RC4 / XOR / UUID / 随机密钥 / Unicode 转义 / MD5字节集 基础支持库 → 加密解密

旧命令名(如 Base64编码MD5URL编码代码仍可编译运行,面板与文档以本库「到/从」「取*」为准。

与「编码类」:多实例各自默认字符集时用类;一般脚本用本库即可。

字符集(推荐:字节集)

Y++ 文本内部是 Unicode。正规 GBK ↔ UTF-8 请用字节集 API:

命令 返回 说明
文本到编码字节集(内容, [编码名]) 字节集 按编码写出;空=默认字符集
编码字节集到文本(数据, [编码名]) 文本 按编码解码为 Unicode
编码转换字节集(数据, 来源, 目标) 字节集 真实换编码
编码名是否有效(编码名) 逻辑 utf-8 / gbk / big5 等
字节集 gbk = 文本到编码字节集("你好", "gbk")
输出(编码字节集到文本(gbk, "gbk"))
字节集 u8 = 编码转换字节集(gbk, "gbk", "utf-8")

字符集(文本 API = 乱码修复)

下列命令不是「把 Unicode 文本重新编码成另一种 charset 的字符串」。它们把文本当「已按某编码误解的字节序列」做修复;来源/目标为 utf-8 时通常原样返回。

命令 返回 说明
编码转换(内容, 来源编码, 目标编码) 文本 乱码修复
编码到Utf8(内容, [来源编码]) 文本 来源 utf-8 → 原样
编码从Utf8(内容, [目标编码]) 文本 目标 utf-8 → 原样
置默认字符集(编码名) 逻辑 默认 GBK
取默认字符集() 文本
取编码错误() 文本 最近一次失败信息

常用编码名:utf-8gbkgb2312big5unicodeasciilatin1

文本编解码 / 摘要

命令 旧名(仍可用)
到Base64 / 从Base64 Base64编码 / Base64解码
到Base64字节集 / 从Base64到字节集 Base64编码字节集 / Base64解码到字节集
到URL编码 / 从URL编码 URL编码 / URL解码
到HTML编码 / 从HTML编码 HTML编码 / HTML解码
到十六进制文本 / 从十六进制文本 十六进制编码 / 十六进制解码
取MD5 / 取SHA1 / 取SHA256 / 取SHA512 MD5 / SHA1 / SHA256 / SHA512

注意:到字节集 产出 UTF-8 字节;验 Base64 字节集往返请用 字节集相等,不要用 字节集到文本(按 UTF-16 对解)。

面板分类「兼容旧名」下列出上述旧命令,便于检索;新代码请优先用左侧新名。

示例

输出(到Base64("Hello"))
输出(从Base64(到Base64("Hello")))
输出(到URL编码("a b 中文"))
输出(取MD5("abc"))

置默认字符集("gbk")
字节集 b = 文本到编码字节集("测试", "gbk")
输出(编码字节集到文本(b, "gbk"))
如果 (取编码错误() != "") {
    输出(取编码错误())
}