instring java_Decode a string in Java
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相关推荐
- [Ljava.lang.String和java.lang.String区别
[Ljava.lang.String和java.lang.String区别 注:[Ljava.lang.String@1b634e7 -- "[" 表示一维数组 ...
- java string 不变_为什么String在java中是不可变的?
什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不 ...
- 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 ...
- date java string 转换,Java Date转String
Java Date转String 1 Java Date转String的介绍 我们可以使用java.text.DateFormat类的format() 方法在Java中将Date转换为String. ...
- 无法解析构造函数‘Employee(int,java.lang.String,java.lang.String,int,com.kuang.pojo.Department)‘
前言:在写这篇博客的时候,本来博客名字打算叫:"在给Java伪造数据库里面的伪数据的相关字段插入数据时,插入失败,是什么原因导致的?",后来思前想后,还是决定直接拷贝使用编译器上面 ...
- string time java,【JAVA】之【string转time方法】
第一种: package org.kodejava.example.util; import java.text.DateFormat; import java.text.SimpleDateForm ...
- java里面的string类型,java中的String类型(不知道理解的好不,请教大神)
当执行String a = "abc"; 时候(前提条件是:执行这行代码之前在常量池中没有abc,若有,a直接引用在常量池中abc不在创建一个对象,若无,执行下面的描述) java ...
- spark java foreach_Spark Java使用DataFrame的foreach/foreachPartition
Spark已更新至2.x,DataFrame归DataSet管了,因此API也相应统一.本文不再适用2.0.0及以上版本. DataFrame原生支持直接输出到JDBC,但如果目标表有自增字段(比如i ...
- java string newline,Java BufferedWriter newLine()用法及代码示例
Java中BufferedWriter类的newLine()方法用于将下一行分隔为新行.它用作缓冲的写程序流中的写分隔符. 用法: public void newLine() throws IOExc ...
最新文章
- 树状数组的理解(前缀和 and 差分)
- 2014年国内最热门的.NET开源平台
- 插入排序算法(基于Java实现)
- 在text html模版中写js,如何利用模板将HTML从JavaScript中抽离
- Ubuntu系统常用命令
- android连接程序,android程序如何连接真机进行测试
- 哪些多年前已从iBoxDB内核中移出的功能
- TM数据单窗算法和单通道算法反演地表温度(IDL实现)
- 虚拟机远程连接USB SERVER
- 《Android开源库》 Google 最新Hover Menu(悬浮菜单)
- 自动组卷系统C语言,自动组卷系统的设计与实现
- linux抓包查对方的mac地址,1.根据MAC地址抓包
- 错误:安装autocad2012的时候提示Command line option syntax error.Type Command/?for help.
- 雷电3菊链功能_别选错!笔记本的Type-C和雷电3接口区别可大了
- 企业管理软件,真的以业务流程为中心?
- ML:阿里云计算平台之搜索推荐演讲分享《多场景智能推荐助力业务增长》、《阿里云智能推荐应用实践:PAI-EasyRec Framework》、《新一代数仓架构漫谈》
- 全国青少年科技创新大赛全国青少年信息学奥林匹克系列比赛(大赛系列第12期)
- WSL2使用USB设备
- php soap https 登录 复杂请求 上海资信 金融p2p Error cannot find parameter faultstringFunction ' not found
- 北大青鸟给了你什么?
热门文章
- mysql 安全删除_mysql的binlog安全删除的一种方法
- android xml配置,Android XML设置z-Index
- 面试pythone_python面试常见问题有哪些
- 求二叉树高度_LeetCode刷题——第二十五天(平衡二叉树)
- mysql 抓包乱码_mysql知识资源收集
- Event用计算机语言,求高人解释下一段计算机语言。
- 西门子安装未找到ssf文件_V5.3安装时显示NO SSF FILE FOUND对话框,我该怎么解决啊? 谢谢!-工业支持中心-西门子中国...
- 网站如何进行渠道跟踪_网站如何进行搜索引擎优化?
- 如何修改ant-input的高度_水质自动采样器的流量计功能如何应用?
- 【LeetCode笔记】剑指 Offer 45. 把数组排成最小的数(Java、字符串、Lambda)