最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中使用url進(jìn)行編碼和解碼

 更新時間:2022年08月16日 16:16:14   作者:愛碼~  
這篇文章主要介紹了java中使用url進(jìn)行編碼和解碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用url進(jìn)行編碼和解碼

編碼和解碼的類

java.net.URLDecoder.decode(url,解碼格式) 解碼器.解碼方法。

轉(zhuǎn)化成普通字符串,URLEncoder.decode(url,編碼格式) 將普通字符串變成指定格式的字符串

package com.zixue.springbootmybatis.test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/** 編碼Encode后都返回了新的字符串,編碼后的字符串不能跨平臺,所以要統(tǒng)一制定編碼格式
 *  需要注意的是在url中 "\" '&' '=' ':' '/'都是具有特殊意義的符號,這些符號一旦被編譯后就會失去本身的
 *  含義,導(dǎo)致無法被解析,
 *  所以在url中需要分塊編碼,
 *  解碼Decoder類中decode方法作用是變回成普通字符,其中加號會變成空格,
 * */
public class testtest {
    public static void main(String[] args) throws UnsupportedEncodingException {
       String url = "http://www.baidu.com?name='張三'&age=18 ";
       String encodeStr = URLEncoder.encode(url,"UTF-8");
        System.out.println(encodeStr);
        System.out.println(URLDecoder.decode(encodeStr,"UTF-8"));
    }
}

js中的編碼

  • encodeURL(String url) 作用將字符串作為url進(jìn)行編碼,是對url進(jìn)行完整編碼,所有對:?@ & = 是不會進(jìn)行轉(zhuǎn)義的
  • encodeURLComponent() 作用是將字符串進(jìn)行編碼,一般用于對某個參數(shù)需要單個編譯的情況下使用,參數(shù)可以是中文
<script >
			$(function(){
				alert("haha");
				var str = 'http://www.baidu.com?name=張三&age=18';
				console.log(str);
				a(str);
			});
			function a (s){
				var h = encodeURI(s);
				console.log(h);
				var y = encodeURIComponent("張三");
				console.log(y);
				var g = "www.baidu.com?name=";
				var i  = encodeURIComponent("張三");
				console.log(g+i);
				
			}
		</script>

Java正確URL解碼方式:URLDecoder.decode

Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u9"
    at java.net.URLDecoder.decode(URLDecoder.java:194)
    at com.hbzx.controller.PayResultController.main(PayResultController.java:253)

Java調(diào)用 URLDecoder.decode(str, "UTF-8"); 拋出以上的異常,其主要原因是% 在URL中是特殊字符,需要特殊轉(zhuǎn)義一下,

解決辦法

使用%25替換字符串中的%號  

?url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
? ?String urlStr = URLDecoder.decode(url, "UTF-8");

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java集合之Set接口及其實(shí)現(xiàn)類精解

    Java集合之Set接口及其實(shí)現(xiàn)類精解

    set接口是繼承自Collection的子接口,特點(diǎn)是元素不重復(fù),存儲無序。在set接口的實(shí)現(xiàn)類中添加重復(fù)元素是不會成功的,判斷兩個元素是否重復(fù)根據(jù)元素類重寫的
    2021-09-09
  • java設(shè)計模式之工廠模式實(shí)例詳解

    java設(shè)計模式之工廠模式實(shí)例詳解

    這篇文章主要介紹了java設(shè)計模式之工廠模式,結(jié)合具有實(shí)例形式分析了java工廠模式的概念、原理、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下
    2017-09-09
  • 詳解SpringBoot迭代發(fā)布JAR瘦身配置

    詳解SpringBoot迭代發(fā)布JAR瘦身配置

    這篇文章主要介紹了詳解SpringBoot迭代發(fā)布JAR瘦身配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Java多線程之深入理解ReentrantLock

    Java多線程之深入理解ReentrantLock

    這篇文章主要介紹了Java多線程之深入理解ReentrantLock,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 解決Maven項(xiàng)目pom.xml導(dǎo)入了Junit包還是用不了@Test注解問題

    解決Maven項(xiàng)目pom.xml導(dǎo)入了Junit包還是用不了@Test注解問題

    在Maven項(xiàng)目中,如果在非test目錄下使用@Test注解,可能會因?yàn)閜om.xml中<scope>test</scope>的設(shè)置而無法使用,正確做法是將測試代碼放在src/test/java目錄下,或去除<scope>test</scope>限制,這樣可以確保Junit依賴正確加載并應(yīng)用于適當(dāng)?shù)拇a部分
    2024-10-10
  • IDEA GIT 忽略文件的最佳方式推薦

    IDEA GIT 忽略文件的最佳方式推薦

    這篇文章主要介紹了IDEA GIT 忽略文件的最佳方式推薦,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • SpringBoot快速整合SpringSecurity的詳細(xì)步驟(新手都會!)

    SpringBoot快速整合SpringSecurity的詳細(xì)步驟(新手都會!)

    日 Spring Security 是針對Spring項(xiàng)目的安全框架,也是Spring Boot底層安全模塊默認(rèn)的技術(shù)選型,他可以實(shí)現(xiàn)強(qiáng)大的Web安全控制,下面這篇文章主要給大家介紹了關(guān)于SpringBoot快速整合SpringSecurity的詳細(xì)步驟,需要的朋友可以參考下
    2023-03-03
  • 關(guān)于@RequestParam的主要用法詳解

    關(guān)于@RequestParam的主要用法詳解

    這篇文章主要介紹了關(guān)于@RequestParam的主要用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java Socket實(shí)現(xiàn)聊天室附1500行源代碼

    Java Socket實(shí)現(xiàn)聊天室附1500行源代碼

    Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。本篇文章手把手帶你通過Java Socket來實(shí)現(xiàn)自己的聊天室,大家可以在過程中查缺補(bǔ)漏,溫故而知新
    2021-10-10
  • 解決ResourceBundle.getBundle文件路徑問題

    解決ResourceBundle.getBundle文件路徑問題

    這篇文章主要介紹了解決ResourceBundle.getBundle文件路徑問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

轮台县| 交城县| 应城市| 格尔木市| 应用必备| 霸州市| 孟连| 万州区| 监利县| 政和县| 云龙县| 玉林市| 郁南县| 阿城市| 会同县| 麻栗坡县| 邹城市| 漳浦县| 丽江市| 平阴县| 石渠县| 乌恰县| 库伦旗| 梨树县| 芦溪县| 迭部县| 玛纳斯县| 海林市| 连江县| 远安县| 新蔡县| 贡觉县| 扎囊县| 色达县| 海口市| 汉沽区| 手游| 峨山| 临夏市| 会理县| 溆浦县|