Maison > Java > javaDidacticiel > le corps du texte

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

王林
Libérer: 2023-05-08 17:46:08
avant
3041 Les gens l'ont consulté

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"));
    }
}
Copier après la connexion

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>
Copier après la connexion

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");
Copier après la connexion
.

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal