Mega Code Archive

 
Categories / Android / Development
 

UTF 2 GBUtil

//package com.ryan; /**  * User: Ryan  * Date: 11-6-10  * Time: ??11:15  */ public abstract class UTF2GBUtil {     public static String covert(String src) {         StringBuffer sb = new StringBuffer();         char[] chars = src.toCharArray();         for (int i = 0; i < chars.length; i++) {             if (chars[i] == '\\' && chars[i + 1] == 'u') {                 int one = h(chars[i + 2]) * 4096;                 if (-1 == one) {                     sb.append(chars[i]);                     continue;                 }                 int two = h(chars[i + 3]) * 256;                 if (-1 == two) {                     sb.append(chars[i]);                     continue;                 }                 int three = h(chars[i + 4]) * 16;                 if (-1 == three) {                     sb.append(chars[i]);                     continue;                 }                 int four = h(chars[i + 5]);                 if (-1 == four) {                     sb.append(chars[i]);                     continue;                 }                 int count = one + two + three + four;                 sb.append((char) count);                 i += 5;                 continue;             }             sb.append(chars[i]);         }         return sb.toString();     }     private static int h(char c) {         if (c > 47 && c < 58) {             return c - 48;         } else if (c > 64 && c < 71) {             return c - 55;         } else if (c > 96 && c < 103) {             return c - 87;         }         return -1;     } }