随笔 - 356  文章 - 0  评论 - 12  阅读 - 102万

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}"));

posted on   blogsheng  阅读(540)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
阅读排行:
· 盘点!HelloGitHub 年度热门开源项目
· 某Websocket反爬逆向分析+请求加解密+还原html
· 02现代计算机视觉入门之:什么是视频
· 回顾我的软件开发经历:我与代码生成器的涅槃之路
· DeepSeek V3 两周使用总结
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示