Maison  >  Article  >  Java  >  Comment utiliser l'encodage et le décodage d'URL en Java

Comment utiliser l'encodage et le décodage d'URL en Java

王林
王林avant
2023-05-08 17:46:082952parcourir

Utilisez l'URL pour encoder et décoder

Classes d'encodage et de décodage

java.net.URLDecoder.decode(url, format de décodage) Méthode de décodage.

Convertir en chaîne ordinaire, URLEncoder.decode(url, format d'encodage) Convertir une chaîne ordinaire en chaîne dans un format spécifié

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

Comment utiliser lencodage et le décodage dURL en Java

Encodage en js

  • encodeURL(String url ) fonctionne pour encoder la chaîne sous forme d'URL, ce qui consiste à encoder entièrement l'URL. Toutes les paires de :? @ & = ne sera pas échappéencodeURL(String url) 作用将字符串作为url进行编码,是对url进行完整编码,所有对:?@ & = 是不会进行转义的

  • encodeURLComponent()

encodeURLComponent() est utilisé pour encoder la chaîne. Il est généralement utilisé lorsqu'un certain paramètre doit être compilé individuellement. Le paramètre peut être chinois

Comment utiliser lencodage et le décodage dURL en Java

.
<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>

Méthode de décodage d'URL correcte Java : URLDecoder.decode

Exception dans le fil de discussion "main" java.lang.IllegalArgumentException : URLDecoder : caractères hexadécimaux illégaux dans le modèle d'échappement (%) - Pour la chaîne d'entrée : "u9"
à java.net.URLDecoder.decode(URLDecoder.java:194)

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

Java appelle URLDecoder.decode(str, "UTF- 8"); L'exception ci-dessus est levée. La raison principale est que % est un caractère spécial dans l'URL et doit être échappé

Solution🎜🎜Utilisez %25 pour remplacer le signe % dans la chaîne 🎜
 url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
   String urlStr = URLDecoder.decode(url, "UTF-8");
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer