zoukankan      html  css  js  c++  java
  • js 解码和编码(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.pathname:获取url路径

    window.location.search:获取参数query部分,注意此处返回的是?query

    window.location.hash:获取锚点,#fragment

    在js中可以使用escape(), encodeURL(), encodeURIComponent(),三种方法都有一些不会被编码的符号:

    escape():@ * / +

    encodeURL():! @ # $& * ( ) = : / ; ? + '

    encodeURIComponent():! * ( ) '

    在java端可以使用URLDecoder.decode(“中文”, "UTF-8");来进行解码

    但是由于使用request.getParameter()来获取参数时已经对编码进行了一次解码,所以一般情况下只要在js中使用

    encodeURIComponent("中文");

    在java端直接使用request.getParameter()来获取即可返回中文。

    如果你想在java端使用URLDecoder.decode(“中文”, "UTF-8");来解码也可以在js中进行二次编码,即:

    encodeURIComponent(encodeURIComponent("中文"));

    如果不进行二次编码的话,在java端通过decode方法取的会是乱码。

  • 相关阅读:
    Xcode4快速Doxygen文档注释 — 简明图文教程(3分钟后爽歪歪)
    ACE小记
    【C++】获得本机所有网卡的IP和MAC地址信息(转)
    一周好文(11)
    cocos2d‘s replaceScene
    iPhone 真机调试安装流程
    金牌银牌铜牌
    整数分割(摘抄)

    马拦过河卒
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/3678574.html
Copyright © 2011-2022 走看看