java將Unicode編碼轉換為漢字
阿新 • • 發佈:2018-12-27
java實現unicode編碼轉換為漢字編碼的程式碼!
package com.amarsoft.court.app.commom; public class JSStrDecoder { 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 String paperDecode(String paperString){ StringBuffer result = new StringBuffer(); paperString=unescape(paperString); for(int i=paperString.length();i>0;i--){ String sTemp =paperString.substring(i-1,i); result.append(sTemp); } return result.toString(); } public static String unescapeJsArray(String jsArray){ StringBuffer result = new StringBuffer(); String sStartKey = "tm[0]="; String sEndKey = ";var n=0;"; int iSart = jsArray.indexOf(sStartKey); int iEnd = jsArray.indexOf(sEndKey); String sToDecode = jsArray.substring(iSart, iEnd); String[] aToDecode = sToDecode.split(";"); for(int i=0;i<aToDecode.length;i++){ int iDot = aToDecode[i].indexOf("="); if(iDot<0)iDot=-2; String paperString = aToDecode[i].substring(iDot+2, aToDecode[i].length()-1); paperString = paperString.replaceAll("%u%u", "%u"); paperString = paperString.replaceAll("%u%", "u"); // System.out.println("old:" + aToDecode[i]); paperString = paperDecode(paperString); result.append(paperString); // System.out.println("new:" + paperString); } return result.toString(); } public static void main(String[] args) { String pages="<tr><td><div class='ws_title'>\u6797\u84C9\u4E0E\u674E\u706B\u7AE0\u5EFA\u8BBE\u5DE5\u7A0B\u5408"; System.out.println("結果為:"+unescape(pages)); } }
unescape
實現字串unidcode編碼的轉換
paperDecode
實現陣列反轉
unescapeJsArray
實現陣列unicode編碼轉換