📄 encoder.java
字号:
package cn.ialvin.web;
import java.io.UnsupportedEncodingException;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
public class Encoder {
public static void main(String[] args) {
System.out.println((int)']');
}
public static String encodeHTML(String s) {
if (s == null) return "";
StringBuffer stringbuffer = new StringBuffer();
int j = s.length();
for(int i = 0; i < j; i++)
{
char c = s.charAt(i);
switch(c)
{
case 60: stringbuffer.append("<"); break;
case 62: stringbuffer.append(">"); break;
case 38: stringbuffer.append("&"); break;
case 34: stringbuffer.append("""); break;
case 169: stringbuffer.append("©"); break;
case 174: stringbuffer.append("®"); break;
case 165: stringbuffer.append("¥"); break;
case 8364: stringbuffer.append("€"); break;
case 8482: stringbuffer.append("™"); break;
/*case 13:
if(i < j - 1 && s.charAt(i + 1) == 10) {
stringbuffer.append("<br />");
i++;
}
break;
case 32:
if(i < j - 1 && s.charAt(i + 1) == ' ') {
stringbuffer.append(" ");
i++;
break;
}*/
default:
stringbuffer.append(c);
break;
}
}
return new String(stringbuffer.toString());
}
public static String escape(String src) {
if (src == "") return "";
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j)
|| Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
public static String unEscape(String src) {
if (src == null) return "";
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
public static String encodeURIComponent(String src) {
return Encoder.encodeURIComponent(src, "UTF-8");
}
public static String encodeURIComponent(String src, String charset) {
if (src == null)
return "";
try {
return java.net.URLEncoder.encode(src, charset).replaceAll("\\+", "%20");
} catch (UnsupportedEncodingException e) {
return src;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -