如何将String str = "0x12"这样的字符串转换成对应16进制数据 0x12 ?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【kong_temp】截止到2008-06-28 14:08:59的历史汇总数据(不包括此帖):
    发帖数:0                  发帖分:0                  
    结贴数:0                  结贴分:0                  
    未结数:0                  未结分:0                  
    结贴率:-------------------结分率:-------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    java.net.URLEncoder.encode(str,"UTF-8");
      

  3.   

    int i=Integer.parseInt(str.substring(2),16);
      

  4.   

    package com.nantian.iclient.atm.sdb;public class Util {
      public Util() {
      }  /**
       * 将指定byte数组以16进制的形式打印到控制台
       * @param hint String
       * @param b byte[]
       * @return void
       */
      public static void printHexString(String hint, byte[] b) {
        System.out.print(hint);
        for (int i = 0; i < b.length; i++) {
          String hex = Integer.toHexString(b[i] & 0xFF);
          if (hex.length() == 1) {
            hex = '0' + hex;
          }
          System.out.print(hex.toUpperCase() + " ");
        }
        System.out.println("");
      }  /**
       *
       * @param b byte[]
       * @return String
       */
      public static String Bytes2HexString(byte[] b) {
        String ret = "";
        for (int i = 0; i < b.length; i++) {
          String hex = Integer.toHexString(b[i] & 0xFF);
          if (hex.length() == 1) {
            hex = '0' + hex;
          }
          ret += hex.toUpperCase();
        }
        return ret;
      }  /**
       * 将两个ASCII字符合成一个字节;
       * 如:"EF"--> 0xEF
       * @param src0 byte
       * @param src1 byte
       * @return byte
       */
      public static byte uniteBytes(byte src0, byte src1) {
        byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();
        _b0 = (byte)(_b0 << 4);
        byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();
        byte ret = (byte)(_b0 ^ _b1);
        return ret;
      }  /**
       * 将指定字符串src,以每两个字符分割转换为16进制形式
       * 如:"2B44EFD9" --> byte[]{0x2B, 0x44, 0xEF, 0xD9}
       * @param src String
       * @return byte[]
       */
      public static byte[] HexString2Bytes(String src){
        byte[] ret = new byte[8];
        byte[] tmp = src.getBytes();
        for(int i=0; i<8; i++){
          ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
        }
        return ret;
      }}
      

  5.   


    Java codeint i=Integer.parseInt(str.substring(2),16);