lua 编码转码url

local url={parsed={}} --存储decode出来的key-value

--private
local function escape(w)
	pattern="[^%w%d%._%-%* ]"
	s=string.gsub(w,pattern,function(c)
		local c=string.format("%%%02X",string.byte(c))
		return c
	end)
	s=string.gsub(s," ","+")
	return s
end

local function detail_escape(w)
	local t={}
	for i=1,#w do
		c = string.sub(w,i,i)
		b,e = string.find(c,"[%w%d%._%-'%* ]")
		if not b then
			t[#t+1]=string.format("%%%02X",string.byte(c))
		else
			t[#t+1]=c
		end
	end
	s = table.concat(t)
	s = string.gsub(s," ","+")
	return s
end

local function unescape(w)
	s=string.gsub(w,"+"," ")
	s,n = string.gsub(s,"%%(%x%x)",function(c)
		return string.char(tonumber(c,16))
	end)
	return s
end

---[=[
--public function
function url:new()
	local u={}    --对象
	u.old= nil 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值