java url解码函数_URL Decode - URL解码函数

函数主体如下:

CREATE OR REPLACE FUNCTION url_decode(input text) RETURNS text

LANGUAGE plpgsql IMMUTABLE STRICT AS $$

DECLARE

bin bytea = '';

byte text;

BEGIN

FOR byte IN (select (regexp_matches(input, '(%..|.)', 'g'))[1]) LOOP

IF length(byte) = 3 THEN

bin = bin || decode(substring(byte, 2, 2), 'hex');

ELSE

bin = bin || byte::bytea;

END IF;

END LOOP;

RETURN convert_from(bin, 'utf8');

END

$$;

使用示例:

postgres=# select url_decode('2019%e5%b9%b41%e6%9c%881%e6%97%a5%ef%bc%8c%e7%a5%9d%e5%a4%a7%e5%ae%b6%e5%9c%a8%e6%96%b0%e7%9a%84%e4%b8%80%e5%b9%b4%e9%87%8c%e5%b7%a5%e4%bd%9c%e9%a1%ba%e5%88%a9%e3%80%81%e5%ae%b6%e5%ba%ad%e5%b9%b8%e7%a6%8f%ef%bc%81');

url_decode

------------------------------------------------------

2019年1月1日,祝大家在新的一年里工作顺利、家庭幸福!

(1 row)

End~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值