LR URL编码和解码方法

问题:URL=http://www.baidu.com/s?wd=%E6%B5%B7%E6%B7%80%E9%BB%84%E5%BA%84"中要对%E6%B5%B7%E6%B7%80%E9%BB%84%E5%BA%84进行参数化,但是由“中国”进行URL编码过来的(原因:URL的传参值,中文是无法进行ASCII编码的),所以无法直接用中文参数化,由于LR提供了lr_convert_string_encoding方法,所以要将中文进行URL编码和解码,是很容易的,故解决方法如下:   
  
 //URL编码
 lr_convert_string_encoding("中国",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8 , "UnicodeString");

lr_save_string (lr_eval_string("{UnicodeString}"),"nURLencoder" );

web_convert_param("nURLencoder", "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST );

lr_output_message("Url编码 = %s",lr_eval_string("{nURLencoder}"));

//URL解码
 lr_save_string (lr_eval_string("{nURLencoder}"),"URLencoder" );

web_convert_param("URLencoder", "SourceEncoding=URL", "TargetEncoding=PLAIN",LAST );

lr_convert_string_encoding(lr_eval_string("{URLencoder}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE, "UnicodeString1");

lr_output_message("Url解码 = %s",lr_eval_string("{UnicodeString1}"));

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

///
    /// url编码
    /// 
    lr_convert_string_encoding(lr_eval_string("{NewParam}"),LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8 , "UnicodeString");

lr_save_string (lr_eval_string("{UnicodeString}"),"nURLencoder" );

web_convert_param("nURLencoder", "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST );

//lr_output_message("nURLencoder=%s",lr_eval_string("{nURLencoder}"));

///
    /// url解码
    ///

lr_save_string(lr_eval_string("{nURLencoder}"),"URLencoder");

web_convert_param("URLencoder", "SourceEncoding=URL", "TargetEncoding=PLAIN",LAST );

//lr_output_message("URLencoder=%s",lr_eval_string("{URLencoder}"));

lr_convert_string_encoding(lr_eval_string("{URLencoder}"),LR_ENC_UTF8, LR_ENC_SYSTEM_LOCALE , "UnicodeString2");

//lr_output_message("UnicodeString=%s",lr_eval_string("{UnicodeString}"));

lr_error_message("原始值为=%s,编码为=%s,解码为=%s",lr_eval_string("{NewParam}"),lr_eval_string("{nURLencoder}"),lr_eval_string("{UnicodeString2}"));

时间: 2024-10-11 01:08:08

LR URL编码和解码方法的相关文章

JS获取url参数及url编码、解码

完整的URL由这几个部分构成:scheme://host:port/path?query#fragment ,各部分的取法如下: window.location.href:获取完整url的方法:,即scheme://host:port/path?query#fragment window.location.protocol:获取rul协议scheme window.location.host:获取host window.location.port:获取端口号 window.location.pa

【转】C/C++ URL编码,解码(提取自PHP)

//解码 //头文件自己加上的 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <string> #include <iostream> using namespace std; /* {{{ php_htoi  */ static int php_htoi(char *s) { int value; int c; c = ((unsigned char *)

【js与jquery】javascript中url编码与解码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数 编码/解码 escape / unescape, encodeURI / decodeURI, encodeURIComponent / decodeURIComponent. [js与jquery]javascript中url编码与解码,布布扣,bubuko.com

python接口自动化测试十三:url编码与解码

# url编码与解码 from urllib import parse url = 'http://zzk.cnblogs.com/s/blogpost?Keywords=中文' a = '中文' b = parse.quote(a)  # 转urlencode编码 print(b) print(parse.quote(b))   # 转第二次(若有需求) # 解码 c = '%E4%B8%AD%E6%96%87' d = parse.unquote(c) print(d) # 解码 f = '

URL编码与解码

通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASC

Web开发:URL编码与解码(转)

原文:http://www.cnblogs.com/greatverve/archive/2011/12/12/URL-Encoding-Decoding.html 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了

IOS URL 编码和解码

1.url编码 ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是: NSString * encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 2.url解码 请求后,返回的数据,如何显示的是这样的格式:%3A%2F%2F,此时需要我们进行UTF-8解码,用到的方法是: NSString *str = [model.album_name str

Web开发:URL编码与解码

通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASC

URL编码与解码&amp;escape, encodeURI和encodeURIComponent区别

通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如,Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是AS