Lazarus 自带了不少常用的编码解码函数、无需任何第三方库的 编码 / 解码 / 哈希函数,不用装任何组件,直接 uses 单元就能用,包含你要的 MD5、Base64、SHA、URL 编码 等。
🔥 终极清单:Lazarus 自带编码 / 解码 / 哈希函数
全部是 Free Pascal RTL + FCL 自带,跨平台(Windows / Linux /macOS)通用。
一、Base64 编码 / 解码(最常用)
单元: uses Base64;
函数:
// 编码 string → Base64
function EncodeStringBase64(const s: string): string;
// 解码 Base64 → string
function DecodeStringBase64(const s: string): string;
示例:
s := EncodeStringBase64(‘123456’);
s := DecodeStringBase64(‘MTIzNDU2’);
二、MD5 哈希(32 位大写 / 小写)
单元: uses md5;
函数:
// 字符串 MD5(返回 32 位小写)
function MD5Print(const AData: TMD5Digest): string;
function MD5String(const AStr: string): TMD5Digest;
// 快捷用法:一行得到 MD5
function MD5Str(const s: string): string;
示例:
s := MD5Str(‘123456’);
三、SHA1 / SHA256 / SHA512 (超强加密)
单元:
- SHA1:sha1
- SHA256:sha256
- SHA512:sha512
uses sha1, sha256, sha512;
函数:
SHA1String(s) → 哈希
SHA256String(s) → 哈希 SHA512String(s) → 哈希
四、URL 编码 / 解码(Http 必备)
单元:uses HTTPDefs;
函数:
URLEncode(s) // URL 编码 URLDecode(s) // URL 解码
五、HTML 编码 / 解码
单元: strutils
uses strutils;
StringToHTML(s) HTMLToString(s)
六、UTF8 <-> Ansi/Unicode 编码转换
单元: uses LazUTF8;
UTF8ToAnsi(s) AnsiToUTF8(s) UTF8Length(s)
七、二进制 <-> 十六进制(Hex)
单元: uses SysUtils;
BinToHex(@buffer, hexStr, length);
八、格式化编码(HEX、Base64、MD5 输出)
单元: SysUtils
Format(‘%x’, [value]) // 转16进制
🎯 最常用的 7 个函数
最实用、最常用的 7 个,全部 Lazarus 自带:
- Base64 编码 EncodeStringBase64
- Base64 解码 DecodeStringBase64
- MD5 MD5Str
- SHA256 SHA256String
- URL 编码 URLEncode
- URL 解码 URLDecode
- UTF8 转码 UTF8ToAnsi / AnsiToUTF8