• url编码函数


    在js中有三个url编码函数:escape,encodeURI, encodeURIComponent。

    escape引人的最早,它会将unicode字符编码成%uXXXX,而其它两个函数会先得到utf8结果然后%xx%yy%zz
    我们应该使用encodeURI和encodeURIComponent而不是escape,新的总是好的嘛:)

    encodeURI和encodeURIComponent的区别是前者不会对:/?&=等字符进行编码,主要用于对url主体进行编码(协议端口+路径+页面,不适合对带查询字符串的整个url进行编码)
    而encodeURIComponent用于对url组件进行编码,例如对查询字符串进行编码。

    asp.net中的服务器端方法HttpUtility.UrlEncode的作用相当于encodeURIComponent,但是它会把空格转换成+而不是%20
    HttpUtility.UrlEncode("http://www.google.com/test page.aspx?title=hello world")
    http%3a%2f%2fwww.google.com%2ftest+page.aspx%3ftitle%3dhello+world
    由此看来它只适用于对查询字符串的值进行编码

    如果调用HttpUtility.UrlPathEncode,他只转换前面部分
    HttpUtility.UrlPathEncode("http://www.google.com/test page.aspx?title=hello world&name=once more")
    http://www.google.com/test%20page.aspx?title=hello world&name=once more

    再看一个例子:encodeURI("http://www.google.com/test page.aspx?title=hello world")
    http://www.google.com/test%20page.aspx?title=hello%20world
    escape, encodeURI, encodeURIComponent这三个js函数一律将空格处理成%20,而服务器端的方法会将空格处理成+号,悲剧的是没有内置的js函数可以正确转换hello+world这样的查询字符串值


    参考:http://kb.cnblogs.com/page/133765/





  • 相关阅读:
    位图索引(Bitmap Index)的故事
    Oracle 用户管理
    Linux中hosts文件的修改
    oracle 错误码 ORA-00119 / ORA-00130
    Oracle 外键约束
    Oracle Basic Ready Notes
    SQL语句Tips
    AWK 简明教程
    JObject对json的操作
    C#Stopwatch的使用,性能测试
  • 原文地址:https://www.cnblogs.com/teamleader/p/2381351.html
Copyright © 2020-2023  润新知