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

📄 codechange.java

📁 中国移动 provision MISC1.6 接口
💻 JAVA
字号:
package cmd.db;


import java.net.*;
import java.util.*;
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
import java.net.*;
import java.util.*;
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
import sun.io.*;

/**
 * Title:
 * Description:
 * Copyright:    Copyright (c) 2001
 * Company:
 * @author
 * @version 1.0
 */

public class CodeChange
{
  private   Properties cp;

  public CodeChange(){
  }
 // protected connBean conn;

  public static String toUnicode(String str)
  {
    try
    {
      String Str2=new String(str.getBytes("GBK"), "ISO8859_1");
      //String Str2=str;
      return Str2;
    }
    catch(Exception e)
    {
      return null;
    }
  }



  public static String getBASE64(String s) {
  if (s == null) return null;
  return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );
  }

  public static String getFromBASE64(String s) {
    if (s == null) return null;
    BASE64Decoder decoder = new BASE64Decoder();
    try {
      byte[] b = decoder.decodeBuffer(s);
      return new String(b);
    } catch (Exception e) {
      return null;
    }
  }
  public String HexUnicodeAsciiToBinary(String sInput)
  {

      int iOutputLen = sInput.length() / 4;
      int iInputLen = iOutputLen * 4;
      char caOutput[] = new char[iOutputLen];
      int iOutputPos = 0;
      try
      {
          for(iOutputPos = 0; iOutputPos < iOutputLen; iOutputPos++)
          {
              String sTemp = sInput.substring(iOutputPos * 4, iOutputPos * 4 + 4);

              int iTemp0 = Integer.parseInt(sTemp, 16);

              caOutput[iOutputPos] = (char)iTemp0;

          }

          String sOutput = new String(caOutput);
          String s = sOutput;
          return s;
      }
      catch(Exception e)
      {
          String s1 = null;
          System.out.println(e);
          return s1;
      }
  }

  public static String AsciiToChineseString(String s) {
    char[] orig = s.toCharArray();
    byte[] dest = new byte[orig.length];
    for (int i=0;i<orig.length;i++)
      dest[i] = (byte)(orig[i]&0xFF);
    try {
      ByteToCharConverter toChar = ByteToCharConverter.getConverter("gb2312");
      return new String(toChar.convertAll(dest));
    }
    catch (Exception e) {
      System.out.println(e);
      return s;
    }
  }


  public static String ChineseStringToAscii(String s) {
    try {
      CharToByteConverter toByte = CharToByteConverter.getConverter("gb2312");
      byte[] orig = toByte.convertAll(s.toCharArray());
      char[] dest = new char[orig.length];
      for (int i=0;i<orig.length;i++)
        dest[i] = (char)(orig[i] & 0xFF);
      return new String(dest);
    }
    catch (Exception e) {
      System.out.println(e);
      return s;
    }
  }
  public static String toTVS4(String str)
  {
    try
    {
      String Str2=new String(str.getBytes("GBK"), "UTF-8");
      //String Str2=str;
      return Str2;
    }
    catch (Exception e)
    {
      return null;
    }
  }
  public static String toChinese(String str)
  {
    try
    {
      String Str2=new String(str.getBytes("ISO8859_1"), "GBK");
      //String Str2=str;
      return Str2;
    }
    catch (Exception e)
    {
      return null;
    }
  }

  public static String toUTF8(final String str){

    String retVal = str;
    try{
      retVal = URLDecoder.decode(str, "UTF-8");
    }catch(Exception e){

    }

    return retVal;
  }

  public String BinaryToHexAscii(String sInput)
  {
    int iInputLen=sInput.length();
    char[] caInput=sInput.toCharArray();
    /*
    try
    {
    // return (BinaryToHexAscii(sInput.getBytes("ISO8859_1")));
       return (BinaryToHexAscii(sInput.getBytes("GB2312")));
    }
    catch(Exception e)
    {
      return null;
    }
    */
    int i,j,iTemp;
    byte b;
    String sOut;
    sOut="";
    for(i=0;i<iInputLen;i++)
    {
      iTemp=caInput[i]>>12 & 15;
      //高4bit
      switch(iTemp)
      {
        case 0:case 1:case 2:case 3:case 4: case 5:case 6:case 7:case 8:case 9:
          sOut += Integer.toString(iTemp);
          break;
        case 10:
          sOut += "A";
          break;
        case 11:
          sOut += "B";
          break;
        case 12:
          sOut += "C";
          break;
        case 13:
          sOut += "D";
          break;
        case 14:
          sOut += "E";
          break;
        case 15:
          sOut += "F";
          break;
      }

      iTemp=caInput[i]>>8 & 15;//第二4bit
      switch(iTemp)
      {
        case 0:case 1:case 2:case 3:case 4: case 5:case 6:case 7:case 8:case 9:
          sOut += Integer.toString(iTemp);
          break;
        case 10:
          sOut += "A";
          break;
        case 11:
          sOut += "B";
          break;
        case 12:
          sOut += "C";
          break;
        case 13:
          sOut += "D";
          break;
        case 14:
          sOut += "E";
          break;
        case 15:
          sOut += "F";
          break;
      }

      iTemp=caInput[i]>>4 & 15;//第三4bit
      switch(iTemp)
      {
        case 0:case 1:case 2:case 3:case 4: case 5:case 6:case 7:case 8:case 9:
          sOut += Integer.toString(iTemp);
          break;
        case 10:
          sOut += "A";
          break;
        case 11:
          sOut += "B";
          break;
        case 12:
          sOut += "C";
          break;
        case 13:
          sOut += "D";
          break;
        case 14:
          sOut += "E";
          break;
        case 15:
          sOut += "F";
          break;
      }
      iTemp=caInput[i]&15;//低4bit
      switch(iTemp)
      {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
          sOut += Integer.toString(iTemp);
          break;
        case 10:
          sOut += "A";
          break;
        case 11:
          sOut += "B";
          break;
        case 12:
          sOut += "C";
          break;
        case 13:
          sOut += "D";
          break;
        case 14:
          sOut += "E";
          break;
        case 15:
          sOut += "F";
          break;
      }
    }

    return sOut;
  }

//

  public String GBToHexAscii(String theStr){//解码算法
    String ChangStr="";
    try    {
           byte[] charbyte = theStr.getBytes("GBK");
           for(int i = 0; i < charbyte.length; i++)
           {
             if(Integer.toHexString(charbyte[i]).length()>6){
               ChangStr += Integer.toHexString(charbyte[i]).substring(6).toUpperCase()+ "";
             }else{
               ChangStr += Integer.toHexString(charbyte[i]).toUpperCase() + "";
             }
                   //System.out.print(Integer.toHexString(charbyte[i]) + " ");
           }
           //System.out.println("\n" + new String(charbyte, 0, charbyte.length, "gb2312"));
           //System.out.println(ChangStr);
    }
    catch(Exception Ue) {
       Ue.printStackTrace();
    }

   return ChangStr;
   }

   public String HexAsciiToGb(String str){//解码算法
     // String rstr=null;
      byte[] bt=str.getBytes();
      if(bt.length%4==2){
        str+="00";
      }
      bt=str.getBytes();
      byte[] b=new byte[bt.length/2];
      int    j ;
            try    {
                   j = 0;
                   for(int i=0; i < str.length(); i+=4)
                   {
                           b[i/4+j] = Integer.decode("0X" + str.substring(i, i + 2)).byteValue();
                           b[i/4+1+j] =  Integer.decode("0X" + str.substring(i + 2 , i + 4)).byteValue();
                           j++;
                   }
                  str=new String(b, 0, b.length, "GBK").trim();
                  // System.out.println(str);
            }catch(Exception e){
            System.out.println(e.toString());
            }
    return str;
    }

}

⌨️ 快捷键说明

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