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

Cara menggunakan pengekodan dan penyahkodan URL dalam Java

王林
王林ke hadapan
2023-05-08 17:46:083102semak imbas

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"));
    }
}

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>

    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");

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam