程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java的16進制與字符串的相互轉換函數

Java的16進制與字符串的相互轉換函數

編輯:關於JAVA

 Java的16進制與字符串的相互轉換函數

  1. /**

  2. * 將指定byte數組以16進制的形式打印到控制台

  3. * @param hint String

  4. * @param b byte[]

  5. * @return void

  6. */

  7. public static void printHexString(String hint, byte[] b) {

  8. System.out.print(hint);

  9. for (int i = 0; i 《 b.length; i++) {

  10. String hex = Integer.toHexString(b[i] & 0xFF);

  11. if (hex.length() == 1) {

  12. hex = ‘0’ + hex;

  13. }

  14. System.out.print(hex.toUpperCase() + “ ”);

  15. }

  16. System.out.println(“”);

1. /**

  2. *

  3. * @param b byte[]

  4. * @return String

  5. */

  6. public static String Bytes2HexString(byte[] b) {

  7. String ret = “”;

  8. for (int i = 0; i 《 b.length; i++) {

  9. String hex = Integer.toHexString(b[i] & 0xFF);

  10. if (hex.length() == 1) {

  11. hex = ‘0’ + hex;

  12. }

  13. ret += hex.toUpperCase();

  14. }

  15. return ret;

  16. }

  17. }

 1. /**

  2. * 將兩個ASCII字符合成一個字節;

  3. * 如:“EF”--》 0xEF

  4. * @param src0 byte

  5. * @param src1 byte

  6. * @return byte

  7. */

  8. public static byte uniteBytes(byte src0, byte src1) {

  9. byte _b0 = Byte.decode(“0x” + new String(new byte[]{src0})).byteValue();

  10. _b0 = (byte)(_b0 《《 4);

  11. byte _b1 = Byte.decode(“0x” + new String(new byte[]{src1})).byteValue();

  12. byte ret = (byte)(_b0 ^ _b1);

  13. return ret;

  14. }

1. /**

  2. * 將指定字符串src,以每兩個字符分割轉換為16進制形式

  3. * 如:“2B44EFD9” --》 byte[]{0x2B, 0x44, 0xEF, 0xD9}

  4. * @param src String

  5. * @return byte[]

  6. */

  7. public static byte[] HexString2Bytes(String src){

  8. byte[] ret = new byte[8];

  9. byte[] tmp = src.getBytes();

  10. for(int i=0; i《8; i++){

  11. ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);

  12. }

  13. return ret;

  }


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved