Heim >Java >javaLernprogramm >So verwenden Sie die URL-Kodierung und -Dekodierung in Java

So verwenden Sie die URL-Kodierung und -Dekodierung in Java

王林
王林nach vorne
2023-05-08 17:46:083046Durchsuche

URL zum Kodieren und Dekodieren verwenden

Klassen zum Kodieren und Dekodieren

java.net.URLDecoder.decode(URL, Dekodierungsformat) Dekodierungsmethode.

In einen gewöhnlichen String konvertieren, URLEncoder.decode(url, Kodierungsformat) Konvertieren Sie einen gewöhnlichen String in einen String in einem angegebenen Format

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

So verwenden Sie die URL-Kodierung und -Dekodierung in Java

Encoding in js

  • encodeURL(String url ) dient dazu, die Zeichenfolge als URL zu kodieren, d. h. die URL vollständig zu kodieren. Alle Paare von:? @ & = wird nicht maskiertencodeURL(String url) 作用将字符串作为url进行编码,是对url进行完整编码,所有对:?@ & = 是不会进行转义的

  • encodeURLComponent()

encodeURLComponent() wird im Allgemeinen verwendet, wenn ein bestimmter Parameter einzeln kompiliert werden muss. Der Parameter kann chinesisch sein
<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>

So verwenden Sie die URL-Kodierung und -Dekodierung in Java

Java korrekte URL-Dekodierungsmethode: URLDecoder.decode

Ausnahme im Thread „main“ java.lang.IllegalArgumentException: URLDecoder: Unzulässige Hexadezimalzeichen im Escape-Muster (%) – Für Eingabezeichenfolge: „u9“
at java.net.URLDecoder.decode(URLDecoder.java:194)
bei com.hbzx.controller.PayResultController.main(PayResultController.java:253)

Java ruft URLDecoder.decode(str, „UTF-8“); auf. Die obige Ausnahme wird ausgelöst. Der Hauptgrund ist, dass % ein Sonderzeichen in der URL ist und maskiert werden muss.

Lösung

Verwenden Sie %25, um das %-Zeichen in der Zeichenfolge zu ersetzen

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die URL-Kodierung und -Dekodierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen