实现MySQL版的urlencode与urldecode函数
来源:互联网 发布:欧美明星周边店淘宝 编辑:程序博客网 时间:2024/05/21 09:56
实现MySQL版的urlencode与urldecode
urlencode
执行如下脚本
DELIMITER ;
DROP FUNCTION IF EXISTS urlencode;
DELIMITER |
CREATE FUNCTION urlencode (s VARCHAR(4096)) RETURNS VARCHAR(4096)
DETERMINISTIC
CONTAINS SQL
BEGIN
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;
DECLARE s2 VARCHAR(4096) DEFAULT '';
IF ISNULL(s) THEN
RETURN NULL;
ELSE
SET s2 = '';
WHILE pointer <= length(s) DO
SET c = MID(s,pointer,1);
IF c = ' ' THEN
SET c = '+';
ELSEIF NOT (ASCII(c) BETWEEN 48 AND 57 OR
ASCII(c) BETWEEN 65 AND 90 OR
ASCII(c) BETWEEN 97 AND 122) THEN
SET c = concat("%",LPAD(CONV(ASCII(c),10,16),2,0));
END IF;
SET s2 = CONCAT(s2,c);
SET pointer = pointer + 1;
END while;
END IF;
RETURN s2;
END;
|
DELIMITER ;
urldecode
执行如下脚本
DROP FUNCTION IF EXISTS urldecode;DELIMITER |
CREATE FUNCTION urldecode (s VARCHAR(4096)) RETURNS VARCHAR(4096)
DETERMINISTIC
CONTAINS SQL
BEGIN
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;
DECLARE h CHAR(2);
DECLARE h1 CHAR(1);
DECLARE h2 CHAR(1);
DECLARE s2 VARCHAR(4096) DEFAULT '';
IF ISNULL(s) THEN
RETURN NULL;
ELSE
SET s2 = '';
WHILE pointer <= LENGTH(s) DO
SET c = MID(s,pointer,1);
IF c = '+' THEN
SET c = ' ';
ELSEIF c = '%' AND pointer + 2 <= LENGTH(s) THEN
SET h1 = LOWER(MID(s,pointer+1,1));
SET h2 = LOWER(MID(s,pointer+2,1));
IF (h1 BETWEEN '0' AND '9' OR h1 BETWEEN 'a' AND 'f')
AND
(h2 BETWEEN '0' AND '9' OR h2 BETWEEN 'a' AND 'f')
THEN
SET h = CONCAT(h1,h2);
SET pointer = pointer + 2;
SET c = CHAR(CONV(h,16,10));
END IF;
END IF;
SET s2 = CONCAT(s2,c);
SET pointer = pointer + 1;
END while;
END IF;
RETURN s2;
END;
|
DELIMITER ;
- 实现MySQL版的urlencode与urldecode函数
- PHP urldecode()与urlencode()函数
- 用JavaScript实现PHP的urldecode/urlencode函数
- c++ 实现url的转码与解码 urlencode urldecode
- 一个urlencode/urldecode的C实现
- Javascript版 UrlEncode和UrlDecode函数
- JavaScript 实现URLEncode、URLDecode (GB2312版)
- C++实现urlencode,urldecode
- URLEncode与URLDecode
- urlencode()与urldecode() 详解
- URLEncode与URLDecode
- javascript版 UrlEncode和UrlDecode函数 js UrlEncode和UrlDecode函数
- urlEncode&&urldecode的用法
- HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
- HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
- urlencode()与urldecode()函数字符编码原理详解
- php urlencode()与urldecode()函数字符编码原理-笔记
- VB中实现ASP中Server.URLEncode与Server.URLDecode
- leetcode之Find Median from Data Stream
- android从通讯录中选择联系人并读取号码
- method_exchangeImplementations
- KISSY整体架构流程
- hibernate generator小结
- 实现MySQL版的urlencode与urldecode函数
- h5 轮播图
- Linux切换账号
- 软件逆向分析有感
- python 小记
- C++基础——函数模板
- 证券数据接口 查询证券编码及基本上市信息
- Remix OS——一个很有魅力的Android系统
- 3GPP TS 24.301 V12.4.0 中文版---5.1&5.2&5.3