Rumah > Java > javaTutorial > Cara menggunakan pengekodan dan penyahkodan URL dalam Java

Cara menggunakan pengekodan dan penyahkodan URL dalam Java

王林
Lepaskan: 2023-05-08 17:46:08
ke hadapan
3108 orang telah melayarinya

Pengekodan dan penyahkodan menggunakan url

Pengekodan dan penyahkodan kelas

java.net.URLDecoder.decode(url, format penyahkodan) kaedah penyahkod.

ditukar kepada rentetan biasa, URLEncoder.decode(url, format pengekodan) menukar rentetan biasa kepada rentetan dalam format yang ditetapkan

package com.zixue.springbootmybatis.test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/** 编码Encode后都返回了新的字符串,编码后的字符串不能跨平台,所以要统一制定编码格式
 *  需要注意的是在url中 "\" '&' '=' ':' '/'都是具有特殊意义的符号,这些符号一旦被编译后就会失去本身的
 *  含义,导致无法被解析,
 *  所以在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"));
    }
}
Salin selepas log masuk

Cara menggunakan pengekodan dan penyahkodan URL dalam Java

Pengekodan dalam js

  • encodeURL(String url) berfungsi untuk mengekod rentetan sebagai url, iaitu untuk mengekodkan url sepenuhnya. @ & = tidak akan terlepas

  • <script >
    			$(function(){
    				alert("haha");
    				var str = &#39;http://www.baidu.com?name=张三&age=18&#39;;
    				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>
    Salin selepas log masuk

    encodeURLComponent()

  • Kaedah penyahkodan URL betul Java: URLDecoder.decode

Cara menggunakan pengekodan dan penyahkodan URL dalam JavaPengecualian dalam thread "utama" java. IllegalArgumentException: URLDecoder: Aksara hex yang tidak sah dalam corak escape (%) - Untuk rentetan input: "u9"

di java.net.URLDecoder.decode(URLDecoder.java:194)

di com.hbzx.controller .PayResultController .main(PayResultController.java:253)

Java memanggil URLDecoder.decode(str, "UTF-8"); aksara memerlukan pelarian khas,

Penyelesaian

Gunakan %25 untuk menggantikan tanda % dalam rentetan

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

Atas ialah kandungan terperinci Cara menggunakan pengekodan dan penyahkodan URL dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan