try块先对 name进行处理
name = name.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
(?[0-9a-fA-F]{2}) 这一串是什么意思呢
@猫咪233:
就是转义%的
以及这样的%e4%b8%ad%e5%9b%bd特殊编码正确转义出来(%e4%b8%ad%e5%9b%bd 中国)
%(?![0-9a-fA-F]{2})意思是'%'开始,但是后面两个字符不是数字,也不是字母。
注意 刚才发的正则被吃了一个感叹号
@、熙和: encode和decode都是这么用吗
@猫咪233: decode的时候转义一下