zoukankan      html  css  js  c++  java
  • url编码

    URL Encode

    关键字: ruby url encode

    在Ruby中: URI.escape  == URI.encode  URI.unescape ==URI.decode

    URI.escape (str):

    采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。

    不会被此方法编码的字符有: /[-_.!~*'()a-zA-Z\d;\/?:;@&=+$,\[\]]/n

    url =" http://www.google.cn/search?q=砂锅粥培训&hl=zh-CN&start=0&sa=N"

    >> URI.escape( url )
    =>"http://www.google.cn/search?q=%E7%A0%82%E9%94%85%E7%B2%A5%E5%9F%B9%E8%AE%AD&hl=zh-CN&start=0&sa=N"


    >> URI.decode( url )    
    => "http://www.google.cn/search?q=砂锅粥培训&hl=zh-CN&start=0&sa=N"

    两个Ruby小函数:URLDecode/URLEncode

    作者:半瓶墨水 链接:http://www.2maomao.com/blog/2-ruby-cookies-en-de-code/

    在解码、编码URL时常用到的URLDecode和URLEncode,用Ruby写了一下,应该可以应付中英文的情况了:

    defURLDecode(str)
      
    str.gsub!(/%[a-fA-F0-9]{2}/) { |x| x = x[1..2].hex.chr }
    end
     
    defURLEncode(str)
      
    str.gsub!(/[^\w$&\-+.,\/:;=?@]/) { |x| x = format("%%%x", x[0]) }
    end

    tmd,ruby太不是东西,没有Char这个类型,一个字符转为一个整型值很容易,一个整形转回一个字符的方法我查了n久才发现原来可以用Integer:chr函数解决。
    Update:
    好吧,我承认,我是一个Ruby土人:CGI::escape, CGI::inescape, CGI::escapeHTML, CGI::inescapeHTML,
    参见:http://www.ruby-doc.org/core/classes/CGI.html

  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/lexus/p/1940819.html
Copyright © 2011-2022 走看看