解码url参数的lotusscript函数

本文深入探讨了在Domino系统开发中处理URL参数解码的策略,详细介绍了如何利用query_string_decoded系统域和自定义函数解决特定字符解码问题,确保在项目中获取原始字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     在Domino的系统开发过程中,我们往往要通过url来进行传参,传递参数给表单或者代理,假如浏览器请求的url带有参数,在交给服务器前服务器会对其进行编码(不知道这样理解对不对),像一些特殊符号,空格、%、汉字都会被编码成类似%XX这样的格式,我们在表单或者代理中如果要取得原来的字符串就必须要进行解码。

     Domino自带提供了一个query_string_decoded的系统域用来获得解码过的字符串,但是在使用中我们仍然发现有些字符通过这个域无法获得真正的原来编码前的字符串,所以我们可以采用自己解码的方式,办法是用query_string获得未解码的字符串,自己写一个函数来解码。下面就是一个解码函数,个人觉得效果很不错,在项目中使用没有问题。

Code Function LSDecode(inString As String) As String inString=Replace(inString,"+"," ") Dim L As String Dim M As String Dim R As String Dim P As Integer Dim TP As Integer Dim fnDecode1 As String Dim rstr As String Dim TempStr As String If Instr(inString,"%")>0 Then   TempStr=inString   Do While Instr(TempStr,"%")>0    P=Instr(TempStr,"%")    L=Left(TempStr,P-1)    M=Mid(TempStr,P+1,5)    If Cint("&H"+Left(M,1))<10 Then     M=Left(M,2)     If M="0A" Or M="0D" Then      If M="0D" Then       rstr=rstr+L+"<br>"      End If     Else      rstr=rstr+L+Chr(Clng("&H"+M))     End If   TP=(P+2)    Else     M=Left(M,2)+Right(M,2)     rstr=rstr+L+Chr(Clng("&H"+M))     TP=(P+5)    End If    R=Right(TempStr,Len
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值