url如何编码解码?为什么要编码?

一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号,这是因为网络标准 RFC 1738 做了硬性规定。如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC 1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定,这导致"URL编码"成为了一个混乱的领域。
四种导致混乱的情况:
网址路径中包含汉字
查询字符串包含汉字
Get方法生成的URL包含汉字
Ajax调用的URL包含汉字(在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。)
综上所述,这个时候需要一种编码方法向服务器发送请求,而js则可以满足这一需求。

decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent() (一般使用encodeURI()和encodeURIComponent())

encodeURI()是Javascript中真正用来对URL编码的函数。它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。编码后,它输出符号的utf-8形式,并且在每个字节前加上%。

它对应的解码函数是decodeURI()

与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。因此,"; / ? : @ & = + $ , #",这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。

它对应的解码函数是decodeURIComponent()。

encodeURIComponent比encodeURI编码的范围更大。
举例来说,encodeURIComponent会把 http:// 编码成 http%3A%2F%2F 而encodeURI却不会。
如果你需要编码整个URL,然后需要使用这个URL,那么用encodeURI,否则使用encodeURIComponent。



  • 涓嶆繁鍏ュ彧娴呭嚭鈥斺攊OS鐨URL缂栫爜鍜瑙g爜
    绛旓細鏃㈢劧鏄紪鐮侊紝鑷劧灏变細鐢ㄥ埌瀛楃闆嗭紝灏卞儚瑙f瀽瀵嗙爜闇瑕瀵嗙爜鏈竴鏍枫URL缂栫爜榛樿浣跨敤鐨勫瓧绗﹂泦鏄疷S-ASCII锛屾墍浠ュ浜嶶RL缂栫爜锛屾渶鍑嗙‘鐨勫畾涔夊簲璇ユ槸锛 鐧惧垎鍙凤紙%锛夊姞涓婅瀛楄妭瀵瑰簲鐨勪袱浣峌S-ASCII瀛楃锛堢敱0123456789ABCDEF缁勬垚锛屼唬琛ㄨ瀛楄妭鐨勫崄鍏繘鍒跺舰寮忥級 銆傞偅涔堬紝浠涔鎯呭喌涓嬮渶瑕佸瀛楄妭杩涜缂栫爜鍛紝杩樻槸璇存墍鏈夊瓧鑺傞兘...
  • 涓轰粈涔堣杩涜URL缂栫爜
    绛旓細杩欐槸涓涓笓闂ㄥ鍦板潃鏍忛噷鎵浼犻掔殑鍙傛暟杩涜缂栫爜鐨勮鍒欍傛瘮濡傚湪鍙傛暟涓甫鏈夌┖鏍肩殑璇濓紝浼犻掑弬鏁版椂灏变細鍙戠敓閿欒锛岃岀敤URL缂栫爜杩囦互鍚庯紝绌烘牸鍙樻垚浜%20杩欐牱灏变笉浼氬彂鐢熼敊璇簡锛涘彟澶栦腑鏂囧瓧缁忕紪鐮佸悗鍏ㄦ槸鎬鍙凤紝鏈夊埄浜庝繚瀵嗐傝繖涓紪鐮佸悗鐨勫瓧涓叉彁浜ょ粰鏈嶅姟鍣ㄥ悗鏄笉闇瑕佽В鐮鐨勶紝缃戦〉浼氳嚜鍔ㄨ瘑鍒.URL缂栫爜閬靛惊涓嬪垪瑙勫垯: 姣...
  • url鐨缂栫爜鍜瑙g爜鏂瑰紡
    绛旓細url鐨勫湪绾缂栫爜鍜瑙g爜宸ュ叿锛 http://tool.chinaz.com/tools/urlencode.aspx 1銆佸熀鏈煡璇 URLEncode锛氭槸鎸囬拡瀵圭綉椤祏rl涓殑涓枃瀛楃鐨勪竴绉嶇紪鐮佽浆鍖栨柟寮忥紝鏈甯歌鐨勫氨鏄疊aidu銆 Google绛夋悳绱㈠紩鎿庝腑杈撳叆涓枃鏌ヨ鏃跺欙紝鐢熸垚缁忚繃 Encode杩囩殑缃戦〉URL銆俇RLEncode鐨勬柟寮忎竴鑸湁涓ょ涓绉嶆槸浼犵粺鐨勫熀浜嶨B2312鐨凟ncode锛圔aidu...
  • 浠涔鏄URL缂栫爜鍜URL瑙g爜?
    绛旓細銆愮瓟妗堛戯細URL缂栫爜鏄礋璐f妸URL閲岄潰鐨勭┖鏍煎拰鍏朵粬鐨勭壒娈婂瓧绗︽浛鎹㈡垚瀵瑰簲鐨勫崄鍏繘鍒惰〃绀猴紝鍙嶄箣灏辨槸瑙g爜銆
  • iOS 寮鍙 url缂栬В鐮_encodeURIComponent銆乨ecodeURIComponent
    绛旓細楂樻墜鍕垮柗锛佷互鍒嗕韩浜ゆ祦涓轰富锛屾杩庡悇璺豹鏉扮偣璇勬敼杩涳紒閾炬帴鍒嗕韩鍦烘櫙闈炲父涔嬪锛屼负浜嗘洿濂界殑淇濇姢涓浜涙暟鎹俊鎭紝闇瑕鎴戜滑杩涜涓浜缂栬В鐮澶勭悊 杩欓噷涓轰簡鑳藉璺焀eb浜掗氾紝鏁寸悊浜嗕竴涓嬨傝法骞冲彴url鏁版嵁缂栬В鐮佷簰閫氾紝 淇濇姢鏁版嵁淇℃伅瀹夊叏鎬 鈶 url encodeURIComponent 缂栫爜 鈶 URL decodeURIComponent 瑙g爜 ...
  • 璋佺煡閬url缂栫爜鐨勪綔鐢ㄥ晩?
    绛旓細杩欐槸涓涓笓闂ㄥ鍦板潃鏍忛噷鎵浼犻掔殑鍙傛暟杩涜缂栫爜鐨勮鍒欍傛瘮濡傚湪鍙傛暟涓甫鏈夌┖鏍肩殑璇濓紝浼犻掑弬鏁版椂灏变細鍙戠敓閿欒锛岃岀敤URL缂栫爜杩囦互鍚庯紝绌烘牸鍙樻垚浜%20杩欐牱灏变笉浼氬彂鐢熼敊璇簡锛涘彟澶栦腑鏂囧瓧缁忕紪鐮佸悗鍏ㄦ槸鎬鍙凤紝鏈夊埄浜庝繚瀵嗐傝繖涓紪鐮佸悗鐨勫瓧涓叉彁浜ょ粰鏈嶅姟鍣ㄥ悗鏄笉闇瑕佽В鐮鐨勶紝缃戦〉浼氳嚜鍔ㄨ瘑鍒.URL缂栫爜閬靛惊涓嬪垪瑙勫垯: 姣...
  • url缂栫爜闂鍦╬ython涓鎬庝箞瑙e喅
    绛旓細encoded_url = est.com%2fs%3fwd%3d%e5%93%88%e5%93%88'print urllib.unquote(encoded_url).decode('utf-8', 'replace').encode('gbk', 'replace') #鍙嶈繃鏉 鍑芥暟璋冪敤鐨勫弬鏁颁互鍙婄粨鏋滈兘鏄痷tf-8缂栫爜鐨勶紝鎵浠ュ湪瀵url缂栫爜鏃讹紝闇瑕灏嗗弬鏁颁覆鐨勭紪鐮佷粠鍘熷缂栫爜杞崲鎴恥tf-8锛屽url瑙g爜鏃讹紝闇瑕佸皢...
  • 鐖辩珯SEO宸ュ叿鍖呬箣URL缂栫爜瑙g爜浣跨敤鎸囧崡
    绛旓細鐖辩珯SEO宸ュ叿鍖呬笅杞斤細鐖辩珯SEO宸ュ叿鍖 涓嬮潰鏄疭EO宸ュ叿鍖URL缂栫爜瑙g爜璇︽儏鏁欑▼锛岃鎴戜滑涓璧锋潵鐪嬬湅锛1.鐧诲綍鐖辩珯SEO宸ュ叿鍖咃紝鎵惧埌缂栫爜杞崲锛岄殢鍚庢壘鍒扮浉搴旂殑鍔熻兘锛屽涓嬪浘锛2.宸﹂敭鐐瑰嚮鈥淯RL缂栫爜瑙g爜锛岃繘鍏ヤ笅涓涓搷浣滄楠ょ晫闈紝鍦ㄤ笂妗嗕腑濉啓浣犺杩涜鐗规畩鐨刄RL缂栫爜瀛楃锛堝彲鎵归噺锛夛紝濉啓瀹屾垚鍚庨夋嫨缃戠珯缂栫爜锛坲tf-8鎴...
  • 浠涔鏄URL缂栫爜,URL瑙g爜
    绛旓細URLDecoder.decode(url,"utf-8");url鏄綘鐨勫湴鍧锛瑙g爜瀹屼箣鍚庯紝鎺ユ敹涓涓嬨傚簲璇ュ彲浠ヤ簡銆缂栫爜涔嬪悗锛岃寰楄В鐮併俰mportjava.net.URLDecoder;涓涓В鐮侊紝importjava.net.URLEncoder;涓涓紪鐮併傚鏋滈亣鍒版棤娉曡В鐮侊紝鍦ㄩ〉闈笂灏%鏇挎崲鎴愶紒URLEncoder.encode(input,"UTF-8").replaceAll("%","!")锛岀劧鍚庡湪鍚庡彴锛屽啀...
  • base64缂栫爜浠ュ強url safe base64鏄鎬庝箞宸ヤ綔鐨
    绛旓細浜庢槸浣滀负MIME澶氬獟浣撶數瀛愰偖浠舵爣鍑嗙殑涓閮ㄥ垎鈥攂ase64琚紑鍙戝嚭鏉.1.a 浠涔鏄url_safe base64缂栫爜锛鍦ㄤ笂闈㈢殑base64浼犵粺缂栫爜涓細鍑虹幇+, /涓や釜浼氳url鐩存帴杞箟鐨勭鍙凤紝鍥犳濡傛灉甯屾湜閫氳繃url浼犺緭杩欎簺缂栫爜瀛楃涓诧紝鎴戜滑 闇瑕鍏堝仛浼犵粺base64缂栫爜锛岄殢鍚庡皢+鍜/鍒嗗埆鏇挎崲涓- _涓や釜瀛楃锛屽湪鎺ユ敹绔垯鍋氱浉鍙嶇殑鍔ㄤ綔瑙g爜 h...
  • 扩展阅读:url网址解码 ... sou黑色解码圈 ... url编码在线转换 ... base64在线编码解码 ... 网址在线转换url格式 ... 苹果url代码大全 ... 在线url编码解码工具 ... 安卓手机如何打开 url文件 ... url中文解码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网