java转换编码报错java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern

Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "左右"
at java.net.URLDecoder.decode

%引起

%会转换成%25

 

解决方案:

 

 

复制代码
    public static String replacer(String str) {
        String data = str;
        try {
            data = data.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
            data = data.replaceAll("\\+", "%2B");
            data = URLDecoder.decode(data, "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
复制代码

 

 

posted @   韦邦杠  阅读(4147)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2018-08-12 TCP/IP协议简单介绍
2018-08-12 原生ajax、XMLHttpRequest和FetchAPI简单描述
2018-08-12 简单使用Idea创建三层架构项目和数据库连接(使用原生ajax进行访问+ajax)
2018-08-12 原生ajax接收json字符串(简单介绍)
2018-08-12 Html5简单描述(优点与缺点)
点击右上角即可分享
微信分享提示