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

📄 decode.java

📁 WAP PUSH后台源码,WAP PUSH后台源码
💻 JAVA
字号:
package com.sxit.wap.common;/*************ASCII, UNICODE 解码过程**************/// writed by zhouzhiming// 2003.04.15public class Decode {  private int CharToInt(char c) {    int re;    re = (int)c;    if ( (re <= 57) && (re >= 48) )      re = re - 48;    else if ( (re >= 65) && (re <= 70) )      re = re - 55;    else      re = 0;    return re;  }  private char HexStrToChar2(String HexStr) {    if (HexStr.length() != 2)      return (char)0;    int ii;    ii = CharToInt(HexStr.charAt(0))*16 + CharToInt(HexStr.charAt(1));    return (char)ii;  }  private char HexStrToChar4(String HexStr) {    if (HexStr.length() != 4)      return (char)0;    int ii;    ii = CharToInt(HexStr.charAt(0))*256*16 + CharToInt(HexStr.charAt(1))*256          + CharToInt(HexStr.charAt(2))*16 + CharToInt(HexStr.charAt(3));    return (char)ii;  }  public String AsciiToStr(String AsciiStr) throws Exception {    int ii = 0;    String str = "";    String sx = "";    while (ii + 2 <= AsciiStr.length()) {      sx = AsciiStr.substring(ii, ii + 2);      str = str + HexStrToChar2(sx);      ii = ii + 2;    }    str = new String(str.getBytes("ISO-8859-1"),"gb2312");    return str;  }  public String UnicodeToStr(String UnicodeStr) throws Exception {    UnicodeStr = UnicodeStr.toUpperCase();    int ii = 0;    String str = "";    String sx = "";    while (ii + 4 <= UnicodeStr.length()) {      sx = UnicodeStr.substring(ii, ii + 4);      str = str + HexStrToChar4(sx);      ii = ii + 4;    }//    str = new String(str.getBytes("ISO-8859-1"),"gb2312");    return str;  }  public static String strToUnicode(String str) throws Exception {    String unicode = "";    for (int i=0; i<str.length(); i++) {      unicode += Integer.toHexString((int)str.charAt(i));    }	return unicode;  }  public String strToUtf8(String s) {    String s1 = "";    if(s != null && !s.equals(""))    {        int i = s.length();        for(int j = 0; j < i; j++)        {            char c = s.charAt(j);            s1 = s1 + "&#x" + toHexString(c) + ";";        }    }    return s1;  }  public String toHexString(char c) {    int i = (int)c;    int i1= i%16;    int i2 = (i%256)/16;    int i3 = (i%4096)/256;    int i4 = i/4096;    char c1 = hex(i1);    char c2 = hex(i2);    char c3 = hex(i3);    char c4 = hex(i4);    String str = "" + c4 + c3 + c2 + c1;    return str;  }  public String toHexString(int i) {      return toUnsignedString(i, 4);  }  final static char[] digits = {      '0' , '1' , '2' , '3' , '4' , '5' ,      '6' , '7' , '8' , '9' , 'a' , 'b' ,      'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,      'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,      'o' , 'p' , 'q' , 'r' , 's' , 't' ,      'u' , 'v' , 'w' , 'x' , 'y' , 'z'  };  private String toUnsignedString(int i, int shift) {      char[] buf = new char[32];      int charPos = 32;      int radix = 1 << shift;      int mask = radix - 1;      do {          buf[--charPos] = digits[i & mask];          i >>>= shift;      } while (i != 0);      return new String(buf, charPos, (32 - charPos));  }  public String utf8ToStr(String utf8) {    utf8 = utf8.toUpperCase();    int ii = 0;    String str = "";    String sx = "";    while (ii + 8 <= utf8.length()) {      sx = utf8.substring(ii, ii + 8);      sx = sx.substring(3, 7);      str = str + HexStrToChar4(sx);      ii = ii + 8;    }    return str;  }  private static char hex(int i) {    char c = ' ';    switch(i) {      case 10:        c = 'a';break;      case 11:        c = 'b';break;      case 12:        c = 'c';break;      case 13:        c = 'd';break;      case 14:        c = 'e';break;      case 15:        c = 'f';break;      default:        c = (""+i).charAt(0);break;    }    return c;  }  public static void main(String[] args) throws Exception {    String str = "杨国长";    String unicode = ""; //   for (int i=0; i<str.length(); i++) { //     unicode += Integer.toHexString((int)str.charAt(i)); //   }  //  System.out.println(unicode);    Decode dc = new Decode();  //  String str1 = dc.UnicodeToStr(unicode);    System.out.println(dc.strToUtf8(str));  //  System.out.println(str1);  //  String ddd; //   ddd = "970760ca516874034e50575b7f8e5c1159734e8c4eba7ec40074002e0041002e0054002e007598a089866027723189c25ff5ff0c540c60276fc060c597f34e5069825ff5ff01629762d2201c975e5178201dff0c660e661f53e37f69603b52a8545872067b114e0a7ebfff01";    //970760CA516874034E50575B7F8E5C1159734E8C4EBA7EC40074002E0041002E0054002E007598A089866027723189C25FF5FF0C540C60276FC060C597F34E5069825FF5FF01629762D2201C975E5178201DFF0C660E661F53E37F69603B52A8545872067B114E0A7EBFFF01    // String str = sortBean1.AsciiToStr(ddd); //   Decode dc1 = new Decode(); //   String str2 = dc1.UnicodeToStr(ddd); //   System.out.println(str2);  }}

⌨️ 快捷键说明

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