public final class CommonCodeUtils
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static int |
ASC_CODE_0 |
static int |
ASC_CODE_9 |
static int |
ASC_CODE_A |
static int |
ASC_CODE_DEL |
static int |
ASC_CODE_F |
static int |
ASC_CODE_LEFT_BRACKET |
static int |
ASC_CODE_RIGHT_BRACKET |
static int |
ASC_CODE_Z |
static int |
ASC_CODEA |
static int |
ASC_CODEF |
static int |
ASC_CODEZ |
static double |
COEFFICIENT |
static int |
EIGHTTIMES2 |
static int |
ENCODE_LEN |
static int |
HEX |
static int |
HEX_ARR_LENGTH |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String |
attributeHtmlDecode(java.lang.CharSequence rawValue)
解码
|
static java.lang.String |
attributeHtmlEncode(java.lang.CharSequence rawValue)
编码HTML标签的属性
|
static java.lang.String |
byteToHexString(byte b)
字节转为16进制字串
|
static java.lang.String |
cjkDecode(java.lang.String text)
将经过中日韩文处理的字符串解码成原先的文字
|
static java.lang.String |
cjkEncode(java.lang.String text)
中日韩文处理
比如:用 --> [7528], 软 --> [8f6f]
|
static java.lang.String |
decodeText(java.lang.String text)
解码字符串,从浏览器端传过来的数据全部经过了cjkEncode,如果cjkEncode后的数据没有变化的话,
就直接返回该值,否则需要用cjkDecode来解码
|
static java.lang.String |
encodeString(java.lang.String string,
java.lang.String[][] encodeArray)
利用指定的编码数组编码给定的字符串
|
static java.lang.String |
encodeURIComponent(java.lang.String uriCmp)
Encode the URI Component, refer to the encodeURIComponent method in javascript
这里的encodeURIComponent跟javascript中的encodeURIComponent还是有不同的,这里没有对CJK作处理
主要是考虑如果对CJK也作处理,一是麻烦, 二是处理后,如果URL还是指向我们的Server,那读取URL的时候
需要考虑编码,那不同的服务器处理就不一样,要考虑的情况比较多
所以这里不对CJK作处理,CJK的处理请调用cjkEncode
|
static java.lang.String |
getNewCharSetString(java.lang.String charset,
java.lang.String targetCharset,
java.lang.String str) |
static java.lang.String |
htmlEncode(java.lang.CharSequence rawValue)
编码HTML字符,主要针对一些特殊的符号
|
static boolean |
isCJKEncoded(java.lang.String text)
判断是否是cjkEncode过的字符串
如果符合[]中间包含非]的字符,那么这几个字符必须是5b或是5d或是[0-9a-fA-F]{4},否则就不是被cjkEncode过的
算法:
1.滑动窗口确定范围;
2.判断窗口内的内容:
a.范围在2-4个字符
b.每个字符都需满足16进制字符(使用预设的boolean数组来判断)
要点:长字符串减少或不使用正则,不直接操作字符串(比如截取),部分操作尽量使用左右移完成
性能较之前在同一段200多字中文段落下大概提升10-15倍
|
static boolean |
isCopyRightSymbol(char c) |
static java.lang.String |
javascriptDecode(java.lang.String str)
将javascript字符串解码成普通的java字符串
|
static java.lang.String |
javascriptEncode(java.lang.String string4javascript) |
static java.lang.String |
md5Encode(java.lang.String rawPass,
java.lang.Object salt,
java.lang.String algorithm)
自定义MD5加密
|
static java.lang.String |
passwordDecode(java.lang.String passwordText)
给字符串解密
|
static java.lang.String |
passwordEncode(java.lang.String text)
给字符串加密.
|
public static final int ENCODE_LEN
public static final int HEX
public static final double COEFFICIENT
public static final int ASC_CODE_A
public static final int ASC_CODE_F
public static final int ASC_CODE_Z
public static final int ASC_CODEA
public static final int ASC_CODEF
public static final int ASC_CODEZ
public static final int ASC_CODE_0
public static final int ASC_CODE_9
public static final int ASC_CODE_DEL
public static final int ASC_CODE_LEFT_BRACKET
public static final int ASC_CODE_RIGHT_BRACKET
public static final int HEX_ARR_LENGTH
public static final int EIGHTTIMES2
public static java.lang.String javascriptEncode(java.lang.String string4javascript)
public static final boolean isCopyRightSymbol(char c)
public static java.lang.String javascriptDecode(java.lang.String str)
str
- 表示javascript的字符串public static java.lang.String encodeString(java.lang.String string, java.lang.String[][] encodeArray)
string
- 要编码的字符串encodeArray
- 编码数组, encodeArray[0]是编码过后的值,encodeArray[1]是原先的值public static java.lang.String encodeURIComponent(java.lang.String uriCmp)
uriCmp
- uri字符串public static java.lang.String attributeHtmlEncode(java.lang.CharSequence rawValue)
rawValue
- HTML标签属性值public static java.lang.String attributeHtmlDecode(java.lang.CharSequence rawValue)
rawValue
- 原值public static java.lang.String htmlEncode(java.lang.CharSequence rawValue)
rawValue
- 要编码的HTML字符串public static java.lang.String cjkEncode(java.lang.String text)
text
- 待处理的中日韩文字public static java.lang.String cjkDecode(java.lang.String text) throws java.lang.Exception
text
- 经过编码的中日韩文字java.lang.Exception
public static boolean isCJKEncoded(java.lang.String text)
要点:长字符串减少或不使用正则,不直接操作字符串(比如截取),部分操作尽量使用左右移完成 性能较之前在同一段200多字中文段落下大概提升10-15倍
text
- 文本public static java.lang.String passwordEncode(java.lang.String text)
text
- 旧文本public static java.lang.String passwordDecode(java.lang.String passwordText)
passwordText
- 待解密的字符串public static java.lang.String decodeText(java.lang.String text)
text
- 需要解码的字符串public static java.lang.String md5Encode(java.lang.String rawPass, java.lang.Object salt, java.lang.String algorithm)
rawPass
- 需要加密的字符串salt
- 加盐值algorithm
- 加密算法public static java.lang.String byteToHexString(byte b)
b
- 一个字节public static java.lang.String getNewCharSetString(java.lang.String charset, java.lang.String targetCharset, java.lang.String str)