⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 escapeunescape.java

📁 解决汉字出现乱码的终极解决办法
💻 JAVA
字号:
package accp;


public class EscapeUnescape {   
	    public static String escape(String src) {   
	        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) {   
	        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 void main(String[] args) {   
	        String tmp = "浣犲ソ";   
	        System.out.println("testing escape : " + tmp);   
	        tmp = escape(tmp);   
	        System.out.println(tmp);   
	        System.out.println("testing unescape :" + tmp);   
	        System.out.println(unescape("%u4f60%u597d"));   
	    }   
	}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -