[PHP] 纯文本查看 复制代码
.版本 2
.子程序 URL解码ALL, 文本型, , 支持ANSI+UTF-8
.参数 Url, 文本型
.如果真 (StrStrI (Url, “%E”))
返回 (U2A (到字节集 (URL解码 (Url))))
.如果真结束
返回 (URL解码 (Url))
.子程序 URL解码, 文本型
.参数 URL地址, 文本型
.局部变量 B, 字节集
.局部变量 L
.局部变量 i指
.局部变量 T, 文本型
i指 = 1
L = 取文本长度 (URL地址) + 1
.判断循环首 (i指 < L)
T = 取文本中间 (URL地址, i指, 1)
.如果 (T = “%”)
T = 取文本中间 (URL地址, i指 + 1, 2)
i指 = i指 + 2
B = B + 到字节集 (到字节 (十六到十 (T)))
.否则
B = B + 到字节集 (到字节 (取代码 (T, )))
.如果结束
i指 = i指 + 1
.判断循环尾 ()
返回 (到文本 (B))
.子程序 十六到十, 长整数型
.参数 欲转换的文本, 文本型
置入代码 ({ 86, 51, 210, 51, 192, 139, 117, 8, 139, 54, 133, 246, 116, 39, 185, 4, 0, 0, 0, 51, 219, 138, 30, 132, 219, 116, 26, 128, 251, 57, 119, 5, 128, 235, 48, 235, 6, 128, 203, 32, 128, 235, 87, 15, 165, 194, 211, 224, 3, 195, 70, 235, 224, 94, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 U2A, 文本型, , UTF-8 to ANSI
.参数 UTF_8Date, 字节集
.局部变量 len, 整数型
.局部变量 UnicodeBin, 字节集
.局部变量 ll
.局部变量 ansi_len, 整数型
.局部变量 unicode_len
.局部变量 ansi, 文本型
ll = 取字节集长度 (UTF_8Date)
len = MultiByteToWideChar_utf8 (65001, 0, UTF_8Date, ll, { }, 0)
UnicodeBin = 取空白字节集 (len × 2)
MultiByteToWideChar_utf8 (65001, 0, UTF_8Date, ll, UnicodeBin, len × 2)
unicode_len = 取字节集长度 (UnicodeBin) ÷ 2
ansi_len = WideCharToMultiByte (936, 0, UnicodeBin, unicode_len, ansi, 0, “”, 0)
ansi = 取空白文本 (ansi_len)
WideCharToMultiByte (936, 0, UnicodeBin, unicode_len, ansi, ansi_len, “”, 0)
返回 (ansi)
.版本 2
.DLL命令 MultiByteToWideChar_utf8, 整数型, , "MultiByteToWideChar"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 字节集
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.DLL命令 WideCharToMultiByte, 整数型, , "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 文本型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 StrStrI, 逻辑型, "shell32", "StrStrIA"
.参数 lpFirst, 文本型
.参数 lpSrch, 文本型