java中decode字符串:

public class Utils {

private static Pattern validStandard      = Pattern.compile("%([0-9A-Fa-f]{2})");

private static Pattern choppedStandard    = Pattern.compile("%[0-9A-Fa-f]{0,1}$");

private static Pattern validNonStandard   = Pattern.compile("%u([0-9A-Fa-f][0-9A-Fa-f])([0-9A-Fa-f][0-9A-Fa-f])");

private static Pattern choppedNonStandard = Pattern.compile("%u[0-9A-Fa-f]{0,3}$");

public static String resilientUrlDecode(String input) {

String cookedInput = input;

if (cookedInput.indexOf('%') > -1) {

// Transform all existing UTF-8 standard into UTF-16 standard.

cookedInput = validStandard.matcher(cookedInput).replaceAll("%00%$1");

// Discard chopped encoded char at the end of the line (there is no way to know what it was)

cookedInput = choppedStandard.matcher(cookedInput).replaceAll("");

// Handle non standard (rejected by W3C) encoding that is used anyway by some

// See: http://stackoverflow.com/a/5408655/114196

if (cookedInput.contains("%u")) {

// Transform all existing non standard into UTF-16 standard.

cookedInput = validNonStandard.matcher(cookedInput).replaceAll("%$1%$2");

// Discard chopped encoded char at the end of the line

cookedInput = choppedNonStandard.matcher(cookedInput).replaceAll("");

}

}

try {

return URLDecoder.decode(cookedInput,"UTF-16");

} catch (UnsupportedEncodingException e) {

// Will never happen because the encoding is hardcoded

return null;

}

}

}

instring java_Decode a string in Java相关推荐

  1. [Ljava.lang.String和java.lang.String区别

    [Ljava.lang.String和java.lang.String区别 注:[Ljava.lang.String@1b634e7  --     "[" 表示一维数组      ...

  2. java string 不变_为什么String在java中是不可变的?

    什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不 ...

  3. java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at java.lang.It

    错误信息: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at java.lan ...

  4. date java string 转换,Java Date转String

    Java Date转String 1 Java Date转String的介绍 我们可以使用java.text.DateFormat类的format() 方法在Java中将Date转换为String. ...

  5. 无法解析构造函数‘Employee(int,java.lang.String,java.lang.String,int,com.kuang.pojo.Department)‘

    前言:在写这篇博客的时候,本来博客名字打算叫:"在给Java伪造数据库里面的伪数据的相关字段插入数据时,插入失败,是什么原因导致的?",后来思前想后,还是决定直接拷贝使用编译器上面 ...

  6. string time java,【JAVA】之【string转time方法】

    第一种: package org.kodejava.example.util; import java.text.DateFormat; import java.text.SimpleDateForm ...

  7. java里面的string类型,java中的String类型(不知道理解的好不,请教大神)

    当执行String a = "abc"; 时候(前提条件是:执行这行代码之前在常量池中没有abc,若有,a直接引用在常量池中abc不在创建一个对象,若无,执行下面的描述) java ...

  8. spark java foreach_Spark Java使用DataFrame的foreach/foreachPartition

    Spark已更新至2.x,DataFrame归DataSet管了,因此API也相应统一.本文不再适用2.0.0及以上版本. DataFrame原生支持直接输出到JDBC,但如果目标表有自增字段(比如i ...

  9. java string newline,Java BufferedWriter newLine()用法及代码示例

    Java中BufferedWriter类的newLine()方法用于将下一行分隔为新行.它用作缓冲的写程序流中的写分隔符. 用法: public void newLine() throws IOExc ...

最新文章

  1. 树状数组的理解(前缀和 and 差分)
  2. 2014年国内最热门的.NET开源平台
  3. 插入排序算法(基于Java实现)
  4. 在text html模版中写js,如何利用模板将HTML从JavaScript中抽离
  5. Ubuntu系统常用命令
  6. android连接程序,android程序如何连接真机进行测试
  7. 哪些多年前已从iBoxDB内核中移出的功能
  8. TM数据单窗算法和单通道算法反演地表温度(IDL实现)
  9. 虚拟机远程连接USB SERVER
  10. 《Android开源库》 Google 最新Hover Menu(悬浮菜单)
  11. 自动组卷系统C语言,自动组卷系统的设计与实现
  12. linux抓包查对方的mac地址,1.根据MAC地址抓包
  13. 错误:安装autocad2012的时候提示Command line option syntax error.Type Command/?for help.
  14. 雷电3菊链功能_别选错!笔记本的Type-C和雷电3接口区别可大了
  15. 企业管理软件,真的以业务流程为中心?
  16. ML:阿里云计算平台之搜索推荐演讲分享《多场景智能推荐助力业务增长》、《阿里云智能推荐应用实践:PAI-EasyRec Framework》、《新一代数仓架构漫谈》
  17. 全国青少年科技创新大赛全国青少年信息学奥林匹克系列比赛(大赛系列第12期)
  18. WSL2使用USB设备
  19. php soap https 登录 复杂请求 上海资信 金融p2p Error cannot find parameter faultstringFunction ' not found
  20. 北大青鸟给了你什么?

热门文章

  1. mysql 安全删除_mysql的binlog安全删除的一种方法
  2. android xml配置,Android XML设置z-Index
  3. 面试pythone_python面试常见问题有哪些
  4. 求二叉树高度_LeetCode刷题——第二十五天(平衡二叉树)
  5. mysql 抓包乱码_mysql知识资源收集
  6. Event用计算机语言,求高人解释下一段计算机语言。
  7. 西门子安装未找到ssf文件_V5.3安装时显示NO SSF FILE FOUND对话框,我该怎么解决啊? 谢谢!-工业支持中心-西门子中国...
  8. 网站如何进行渠道跟踪_网站如何进行搜索引擎优化?
  9. 如何修改ant-input的高度_水质自动采样器的流量计功能如何应用?
  10. 【LeetCode笔记】剑指 Offer 45. 把数组排成最小的数(Java、字符串、Lambda)