博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA乱码问题——URL中的+,空格,/,?,%,#,&,= 及转义处理
阅读量:4181 次
发布时间:2019-05-26

本文共 625 字,大约阅读时间需要 2 分钟。

解决办法:将这些字符转化成服务器可以识别的字符,对应关系如下: 

下表中列出了一些URL特殊符号及编码 

+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D

进行编码的时候把字符串用可识别的字符替换一下

BASE64Encoder base64Encoder = new BASE64Encoder();        String encoderStr = base64Encoder.encode(Objects.requireNonNull(bytes));        //为防止在url传输的时候问题。        return encoderStr.replaceAll("/", "-").replaceAll("\\+", "_");

解码之前也要替换回来

BASE64Decoder base64De = new BASE64Decoder();            byte[] b = null;            sn=sn.replaceAll("-", "/").replaceAll("_", "+");            b = base64De.decodeBuffer(sn);

 

转载地址:http://vugai.baihongyu.com/

你可能感兴趣的文章
Redis 和 I/O 多路复用
查看>>
西邮Linux兴趣小组2017纳新免试题揭秘
查看>>
【C++】尽量以const,enum,inline 替换 #define
查看>>
预处理器、编译器、汇编、链接
查看>>
【C++】尽可能使用const
查看>>
PV原语小结及进程同步示例
查看>>
OS进程调度及典型调度算法
查看>>
C++操作Mysql数据库/Linux下
查看>>
I/O知识点汇总
查看>>
【C++】jsoncpp的安装与使用
查看>>
[C++11]半同步半异步线程池实现与分析
查看>>
Redis网络库源码浅解
查看>>
TCP半连接与全连接队列及accept建立连接
查看>>
TCP连接的关闭
查看>>
系统级 I/O与缓冲机制
查看>>
[Web Server](一)Tiny Web Server分析
查看>>
内存管理之用户空间
查看>>
FastCGI 协议分析与C语言实现实例
查看>>
Muduo网络库源码分析之定时器的实现
查看>>
C++智能指针的分析与使用
查看>>