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 ...
最新文章
- Unique Paths II
- 最土团购系统数据结构数据字典二次开发宝典
- mysql存储base64位用什么类型_了解什么是存储引擎引发的MySQL面试3连问
- jdbc获取一行字符串_JDBC基础
- bat-bat-bat (重要的事情说三遍)
- 完成OSS.Http底层HttpClient重构封装 支持标准库
- python图像分析_python分析问题步骤Python比较两个图片相似度的方法
- win8安装mysql出现2503_win8.1安装msi文件出现2503错误的解决方法
- STM32液晶显示HT1621驱动原理及程序代码
- Linux中使用定时任务每周定时清理45天以前日志
- Collider Collision 区别
- iOS :高德地图SDK配置教程(安装CocoaPods、生成Podfile文件、安装SDK、demo简单使用等)
- Flink on Zeppelin (1) - 入门篇
- 软件测试典型缺陷分析,软件测试缺陷分析方法简介
- 分类信息网站模板(ICP许可证)已通过审核-两套样式模板
- 基于STM32的医院呼叫系统设计
- mentohust for linux,GitHub - xdlinux/mentohust_xidian: A ruijie client for xidian university
- 【Java】认识Sring、String的常见操作和StringBuffer 和StringBuilder的区别【字符串详解】
- 前端vue点击切换(黑夜/白天模式)主题最新(源码)
- java9推迟_甲骨文宣布Java 9将会推迟到明年7月发布
热门文章
- html长图转换成pdf,将长 html 导入拆分 PDF
- 汇编学习笔记(二):转移指令
- 大学计算机基础水平,大学计算机基础心得.docx
- java 继承变量_用java中的变量继承
- 请描述定时器初值的计算方式_单片机C语言编程中定时器初值计算的两种方法...
- spring更新后 外层事务查不到_再深一点:面试工作两不误,源码级理解Spring事务...
- reactor模型_Reactor模式以及Netty中的应用
- java cxf 不使用springmvc_使用cfx与springMVC集成发布与调用webservice
- python函数如何实现可变参数_【已解决】Python中实现可变参数的函数
- Java小白零基础学习如何突破自己的方法