package common;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
/**
* 改变特殊字符
*
*/
public class ChangeTSChar {
private static String EncodeString(String inputContent)
{
//转义 单引号 .
inputContent = inputContent.replaceAll("'", "’");
// //转义 反斜杠 .
// inputContent = inputContent.replaceAll("\"", """);
// //转义 小于号 .
// inputContent = inputContent.replaceAll("<", "<");
// //转义 大于号 .
// inputContent = inputContent.replaceAll(">", ">");
// //转义 换行符 .
// inputContent = inputContent.replaceAll("\n", "<br>");
// //转义 空格 .
// inputContent = inputContent.replaceAll(" ", " ");
//返回 编码转换后的字符串.
return inputContent;
}
private static String DecodeString(String selectContent)
{
//转义 单引号 .
selectContent = selectContent.replaceAll("’", "'");
// //转义 反斜杠 .
// selectContent = selectContent.replaceAll(""", "\"");
// //转义 小于号 .
// selectContent = selectContent.replaceAll("<", "<");
// //转义 大于号 .
// selectContent = selectContent.replaceAll(">", ">");
// //转义 换行符 .
// selectContent = selectContent.replaceAll("<br>", "\n");
// //转义 空格 .
// selectContent = selectContent.replaceAll(" ", " ");
//返回 编码转换后的字符串.
return selectContent;
}
@SuppressWarnings("unchecked")
private static void excute(Object obj,String type)throws Exception{
Class objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
boolean flag1 = true;
boolean flag2 = true;
for(Field methodname:fields){
String getmethodName = "get"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
String setmethodName = "set"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
Method [] getMethods = obj.getClass().getMethods();
Method [] setMethods = obj.getClass().getMethods();
for(int i=0;i<getMethods.length;i++){
if(getMethods[i].getName().equals(getmethodName)){
flag1 = false;
break;
}else{
flag1 = true;
}
}
for(int i=0;i<setMethods.length;i++){
if(setMethods[i].getName().equals(setmethodName)){
flag2 = false;
break;
}else{
flag2 = true;
}
}
if(flag1||flag2){
continue;
}else if(!"class java.lang.String".equals(methodname.getType().toString())){
continue;
}
Method getMethod = obj.getClass().getMethod(getmethodName, new Class[]{});
Method setMethod = obj.getClass().getMethod(setmethodName, new Class[]{methodname.getType()});
String value = (String)getMethod.invoke(obj, new Object[]{});
if(value != null){
if(type!=null&&type.equals("encode")){
value = EncodeString(value);
}else if(type!=null&&type.equals("decode")){
value = DecodeString(value);
}
setMethod.invoke(obj, new Object[]{value});
}
}
}
/**
* 将特殊字符转换成默认字符
* @param obj
*/
public static void encode(Object obj){
if(obj == null){
return ;
}
try {
excute(obj, "encode");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将默认字符转换成特殊字符
* @param obj
*/
public static void decode(Object obj){
if(obj == null){
return;
}
try {
excute(obj, "decode");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 解译
* @param list
*/
public static void decodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
decode(object);
}
}
}
/**
* 转译
* @param list
*/
public static void encodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
encode(object);
}
}
}
}
分享到:
相关推荐
这样,Jackson会在序列化时自动转义特殊字符。 3. **Jackson转义**: - Jackson提供了`@JsonRawValue`注解,可以阻止特定字段的转义。但通常,我们应该确保所有输出到HTML的字段都经过转义,因此全局设置通常是更...
在JavaScript中,反斜杠(\)用于转义特殊字符,例如"\n"表示换行,"\t"表示制表符,"\\"表示反斜杠本身,而"\'"和'\"'分别用来转义单引号和双引号。JavaScript中还有一类特殊的转义序列,如"\u0026"用于表示ASCII码...
这包括对URL中的特殊字符进行转义编码,避免由于特殊字符带来的解析问题。在实际开发过程中,通常会使用现成的库函数或浏览器提供的编码工具函数来完成这项工作,例如JavaScript内置的`encodeURIComponent`和`...
正则表达式特殊字符的转义,常用网页特殊字符转义,网络爬虫特殊字符处理
代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...
对于非Java环境或非预编译语句的场景,我们通常需要手动转义特殊字符。例如,在PHP中,可以使用`mysqli_real_escape_string`函数;在JavaScript中,可以使用`encodeURIComponent`函数。每种语言都有相应的函数或方法...
- 在XML文档中,同样需要转义特殊字符,因为XML的语法与HTML相似。 在给定的资源`code.html`中,可能包含了一个示例或工具,用于演示如何在HTML中使用转义字符串。通过打开这个文件,我们可以更深入地学习如何在...
本文介绍了如何在使用Gson时避免自动转义特殊字符的方法,通过示例代码展示了具体的实现过程。这对于需要处理含有特殊字符的数据场景非常有用。需要注意的是,在实际应用中还需要根据具体情况来决定是否使用该功能,...
kindeditor特殊符号被转义 kindeditor 编辑器添加图片、flash,还有视频时路径出错
- **功能**:此函数用于准备字符串以安全地插入到MySQL数据库中,通过转义特殊字符来防止SQL注入。 - **语法**:`mysql_real_escape_string(string, connection)` - **参数**: - `string`:要转义的字符串。 -...
在JavaScript编程中,进行数据验证是非常重要的一环,特别是在用户输入的数据需要被...理解正则表达式的语法和如何正确转义特殊字符,是编写这类校验功能的关键。在实际开发中,应根据业务需求灵活运用和定制这些函数。
在C#中,这些转义序列主要用于字符串和字符常量中,使得开发者可以方便地插入这些特殊字符。 #### 转义序列列表 以下是C#中常见的转义字符: - `\a`:警报(ANSI C) - `\b`:退格 - `\f`:换页 - `\n`:换行 - `\...
本篇文章主要探讨的是如何在SQLite中对特殊字符进行转义,以便正确执行查询。 在SQLite中,特殊字符包括但不限于`/`、`'`、`[`、`]`、`%`、`&`、`_`、`(`和`)`。这些字符在LIKE表达式中具有特定的含义,例如`%`代表...
首要条件需要由adb 环境 第一步:先安装插件 adb shell ime set ... 第二步:就是使用命令输入了 adb shell am broadcast -a ADB_INPUT_TEXT -es msg '我喜欢AIMING & 爱上^ 2' 用法很简单,你学废了吗?
"java csv 读写框架特殊字符转义" Java CSV 读写框架是基于 Java 注解的 CSV 读写框架,具有 Fluent 流式写法、基于 Java 注解、支持自定义的转换和机敏配置、内置 8 大根本类型以及 String 类型转换等特性。该框架...
通过这些案例,可以清晰地看到Mybatis在处理特殊字符和进行复杂SQL语句编写时的各种转义方法和技巧。开发者应灵活运用这些技术,确保SQL语句的正确性及可读性。总之,正确处理Mybatis在Mapper.xml文件中的转义字符,...
除了上述常见的转义字符外,Java还支持一些其他特殊字符的转义表示法,例如: - `.` 可以用`\u002E`表示。 - `$` 可以用`\u0024`表示。 - `{` 可以用`\u007B`表示。 - `[` 可以用`\u005B`表示。 - `(` 可以用`\u...
在C#编程语言中,转义字符是非常重要的概念之一,它们可以帮助开发者在字符串中插入特殊字符或者控制字符,从而实现更丰富的文本处理功能。本文将详细介绍C#中常见的转义字符及其用法,并通过具体的示例来帮助读者更...
web开发时 html 页面 特殊字符转义大全 如 引号 冒号 空格等等